home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload Trio 2 / Shareware Overload Trio Volume 2 (Chestnut CD-ROM).ISO / dir39 / 4dostip4.zip / 4DOS4.MSG next >
Text File  |  1992-08-01  |  389KB  |  11,050 lines

  1.  
  2. ------------------------------------------------------------------------
  3.  
  4. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  5.  
  6.  BBS: ESCMAIL         Conference: 4dos(ECHO)      Imported:  4/29/1992
  7.   To: ALL                             Num: 67         Date:  4/27/1992
  8. From: DENIS LEPINE                     Re:            Time:  3:27 pm
  9. Subj: Music for your ears            Prvt: N          Read: N
  10.  
  11.  LOADBTM ON
  12.  beep  185 8  349 8  349 4  330 4  294 3  262 3  247 3  233 4  233 2  233 3
  13.  beep    1 1  233 2  233 16 196 8  392 8  392 4
  14.  beep  349 4  330 3  294 3  262 3  247 4  247 2  247 3
  15.  beep    1 1  247 16 247 4  233 4  220 4  220 4  220 4  277 4  294 4  330 3
  16.  beep  370 3  392 3  440 8  466 8  466 8  466 8  233 8  233 4  262 4
  17.  beep  294 4  311 4  349 3  392 3  415 3  466 8  494 8  494 8  494 8
  18.  beep  196 8  349 8  349 4  330 4  296 3  262 3  247 3  233 4  233 2  233 3
  19.  beep    1 1  233 16 233 4  208 4  196 8  392 8
  20.  beep  392 4  349 4  330 3  294 3  262 3  247 4  247 2  247 3
  21.  beep    1 1  247 16 247 4  233 4  220 4  220 4  220 4  247 4
  22.  beep  262 4  294 4  330 3  349 3  330 3  392 8  392 4  392 3
  23.  beep    1 1  392 4  466 4  466 4  466 4  440 4  392 8
  24.  beep  262 16 294 8  262 32
  25.  rem 100 rem Star-Trek Theme (TOS)
  26.  rem 110 PLAY "T200MLO2L2GO3FL4FEL6DCO2BL4B-L8B-L32B-B-B-P32B-L1B-"
  27.  rem 120 PLAY "L2GO3GL4GFL6EDCO2L4BL8BL32BBBP32L1BL4B7"
  28.  rem 130 PLAY "L4B-AAABO3C#DL6EF#GL2AB-B-B-O2B-L4B-O3CDE-L6FGA-L2B-BBB"
  29.  rem 140 PLAY "O2GO3FL4FEL6DCO2BL4B-L8B-L32B-B-B-P32"
  30.  rem 150 PLAY "L1B-L4B-A-L2GO3GL4GFL6EDCO2L4BL8BL32BBBP32L1BL4B"
  31.  rem 160 PLAY "O2B-AAABO3CDL6EFEL2GL4GL32GGGP32L4GB-B-B-AL2GL1CL2DL1CC"
  32.  
  33.  Denis Lépine, 240/20.3
  34. ... Come with me, TAG along.
  35. --- QMail v1.00
  36.  * Origin: Le point a Denis (1:240/20.3)
  37. 
  38. ------------------------------------------------------------------------
  39.  
  40. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  41.  
  42.  BBS: ESCMAIL         Conference: 4dos(ECHO)      Imported:  5/02/1992
  43.   To: ALL                             Num: 93         Date:  4/30/1992
  44. From: TONY DUNLAP                      Re:            Time: 12:23 pm
  45. Subj: 4view.btm                      Prvt: N          Read: N
  46.  
  47. A user reported a problem of not being able to view a file with no extension
  48. inside a zip. this was fixed by replacing this:
  49.  
  50. elseiff %filew% EQ 2 then
  51.   set filen=%@select[$$4view.dat,1,0,20,80,Pick File to View]%
  52.   set filen=%@word[0,%filen%]%.%@word[1,%filen%]%
  53. endiff
  54.  
  55. with this:
  56.  
  57. elseiff %filew% EQ 2 then
  58.   set filen=%@select[$$4view.dat,1,0,20,80,Pick File to View]%
  59.   iff "%@word[1,%@substr[%filen%,0,13]]" EQ "" then
  60.     set filen=%@word[0,%filen%]%.
  61.   else
  62.     set filen=%@word[0,%filen%]%.%@word[1,%filen%]%
  63.   endiff
  64. endiff
  65.  
  66.  
  67. The original posting was about a week ago. If you are interested in this
  68. program, the latest version will always be available for F'req at
  69. 1:2220/30 as 4VIEW.ARJ or
  70.  
  71.  Available via FREQ or first time callers from
  72.  The Outer Limits I (1:2220/10) at 1-614-772-5520
  73.  (USR Dual Standard) or The Outer Limits II
  74.  (1:2220/15) at 1-614-772-5583 (USR 14.4 HST).
  75.  
  76. Later
  77.  
  78. ---
  79.  * Origin: ODOT District 9 (1:2220/30)
  80.       To:  RALPH SIMS                 Message #:  106    
  81.     From:  STEN DRESCHER              Submitted:  30 Apr 92  18:58:00
  82.  Subject:  Re: DOS 5: boot from a RA     Status:  Public
  83. Received:  No                             Group:  4dos(ECHO) (15)
  84.  
  85.  SD> You can always use the @ parameter to explicitly name the initialization
  86.  
  87.  RS> Won't work in quite that manner.  The INI file is read from config.sys
  88.  RS> at boot-up ONLY ONCE.  It won't exist on the ramdrive until the file
  89.  RS> is copied over.  Each time 4DOS needs to read the INI file ikt goes
  90.  RS> to where it was told in the config.sys SHELL statement.
  91.  
  92.    Check again.  Quoting from the 4DOS Reference Manual, page 118:
  93.  
  94.         If you start a secondary shell from a task switching program
  95.         like Windows, DESQView, or Back & Forth, you can specify an
  96.         alternate location and name for _4DOS.INI_ by passing the
  97.         "@d:\path\inifile: option to 4DOS as a command line parameter
  98.         (see page 109).  In this case, the configuration settings in the
  99.         alternate _4DOS.INI_ files will supersede any settings inherited
  100.         from the previous shell.
  101.  
  102.         -Sten
  103.  
  104. --- EZPoint V2.2
  105.  * Origin: Ten Forward.NUL, San Antonio, TX (1:387/255.104)
  106. =-=-=-=-=
  107.  
  108. ------------------------------------------------------------------------
  109.  
  110. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  111.  
  112.  BBS: ESCMAIL         Conference: 4dos(ECHO)      Imported:  5/05/1992
  113.   To: STEN DRESCHER                   Num: 123        Date:  5/02/1992
  114. From: NICHOLAS LEON                    Re:            Time:  1:51 pm
  115. Subj: Eval Variable                  Prvt: N          Read: N
  116.  
  117. Sten!
  118. On 29 Apr 92, Sten Drescher was hearding whispering to Scott Wunsch in the
  119. corner...
  120.  
  121.  MH>> Calculating the day of the week from any arbitrary date using the MH>
  122.  MH>> Zeller convergence.  MH>
  123.  SW>> . . .
  124.  SW>>
  125.  SW>> Isn't using %_DOW a little easier than that?
  126.  SW>>
  127.  SD>         Only if you want the DOW for today.
  128.  
  129. How about using this math formula. This will work for any day not before the
  130. beginning of the Julian Calendar. It returns a value from 0 to 6: the day of
  131. week:
  132.  
  133. ( ( ( 3*(y) - (7*((y)+((m)+9)/12))/4 + (23*(m))/9 + (d) + 2
  134. + 15 - (((y)-((m)<3))/100+1) * 3 / 4 ) % 7 ) )
  135.  
  136. Needless to say, y is year, m is month and d is day.
  137.  
  138. I suppose you'd have to put it like this in 4DOS
  139.  
  140. set dow=%@eval[( ( ( 3*(%y) - (7*((%y)+((%m)+9)/12))/4 + (23*(%m))/9 + (%d) +
  141. 2+ 15 - (((%y)-((%m)<3))/100+1) * 3 / 4 ) % 7 ) )]
  142.  
  143. Complex but it works! ;-)
  144.  
  145. Nicholas!
  146. Sysop of The File-XChange! (1:3648/5@FidoNet, 72:919/10@RANet)
  147.  
  148. ... Now playing RA 1.11, FD 2.02, DESQview/X, and QEMM 6.03.
  149. ... Coming soon OS/2 2.0 & NuBoard BBS!
  150.  
  151. --- GoldED 2.40
  152.  * Origin: The File-XChange! (919) 672-3388! 1GIG Online! (1:3648/5)
  153.  
  154. ------------------------------------------------------------------------
  155.  
  156. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  157.  
  158.  BBS: ESCMAIL         Conference: 4dos(ECHO)      Imported:  5/05/1992
  159.   To: ALL                             Num: 149        Date:  5/03/1992
  160. From: WILLIAM HUGHES                   Re:            Time:  7:14 pm
  161. Subj: Rounding Numbers               Prvt: N          Read: N
  162.  
  163. Something I threw together to clean up some calculations...
  164.  
  165. ROUND.BTM
  166. ====><==== CUT HERE ====><====
  167. if "%1"=="" .OR. "%2"=="" goto OOPS
  168.  
  169. set _RND_=0
  170. set VALUE_IN=%2
  171. set INTEGER_IN=%@int[%VALUE_IN]
  172. set DECIMAL_IN=%@eval[%VALUE_IN-%@int[%VALUE_IN]]
  173.  
  174. if %1 LT 1 goto FRACTION
  175. if %1 GT 1 goto INTEGERS
  176. if %1 EQ 1 goto UNITS
  177. goto OOPS
  178.  
  179. :FRACTION
  180. set ZEROS=%@len[%1]
  181. set CORRECTION=%@substr[10000000000,0,%ZEROS]
  182. set SHIFT=%@eval[%DECIMAL_IN*%CORRECTION]
  183. set CHECK=%@eval[%SHIFT-%@int[%SHIFT]]
  184. iff %@eval[%CHECK-0.5] LT 0 then
  185.     set DECIMAL=%@eval[%@int[%SHIFT]/%CORRECTION]
  186. else
  187.     set DECIMAL=%@eval[%@eval[%@int[%SHIFT]+1]/%CORRECTION]
  188. endiff
  189. set _RND_=%@eval[%INTEGER_IN+%DECIMAL]
  190. goto ENDIT
  191.  
  192. :UNITS
  193. iff %@eval[%DECIMAL_IN-.5] LT 0 then
  194.     set _RND_=%INTEGER_IN
  195. else
  196.     set _RND_=%@eval[%INTEGER_IN+1]
  197. endiff
  198. goto ENDIT
  199.  
  200. :INTEGERS
  201. set CORRECTION=%1
  202. set SHIFT=%@eval[%INTEGER_IN/%CORRECTION]
  203. set CHECK=%@eval[%SHIFT-%@int[%SHIFT]]
  204. iff %@eval[%CHECK-0.5] LT 0 then
  205.     set _RND_=%@eval[%@int[%SHIFT]*%CORRECTION]
  206. else
  207.     set _RND_=%@eval[%@eval[%@int[%SHIFT]+1]*%CORRECTION]
  208. endiff
  209. goto ENDIT
  210.  
  211. :OOPS
  212. echo Syntax - ROUND [units] [number to be rounded]
  213. echo.
  214. echo where [units] is .01  = hundredths
  215. echo                  .1   = tenths
  216. echo                  1    = units
  217. echo                  10   = tens
  218. echo.
  219. echo and so forth. The program is open-ended (within the limits of 4DOS).
  220. echo.
  221. echo ROUND returns the rounded value in the environment variable _RND_.
  222.  
  223. :ENDIT
  224. set VALUE_IN=
  225. set INTEGER_IN=
  226. set DECIMAL_IN=
  227. set SHIFT=
  228. set CHECK=
  229. set DECIMAL=
  230. set CORRECTION=
  231. ====><==== CT HERE ====><====
  232.  
  233.  
  234.  * SLMR 2.1a * 
  235.  
  236. --- MsgToss 2.0b (r)
  237.  * Origin: Nul 512-615-NUL1 HST/V32b,615-NUL2, NUL3, 1.2Gig (1:387/255)
  238.  
  239. ------------------------------------------------------------------------
  240.  
  241. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  242.  
  243.  BBS: ESCMAIL         Conference: 4dos(ECHO)      Imported:  5/09/1992
  244.   To: JOHN CAMPBELL                   Num: 164        Date:  5/02/1992
  245. From: MICHAEL EICHHARDT                Re:            Time: 11:43 am
  246. Subj: 4DOS/NDOS                      Prvt: N          Read: N
  247.  
  248. Hallo John!
  249.  
  250.    >>      Uh, Joe, what kind of commands would one have in this
  251.    >> 4START.BAT file? I don't have one either, and I'm having a shell
  252.    >> of a time (sorry) with several programs.  I dinked around and
  253.    >> finally was able to access dosshell, but not any more.  Would
  254.    >> appreciate your suggestions.                   jkc
  255.  
  256. I'm using 4START.BAT to reload the ANSI driver under DesqView:
  257.  
  258. : ------------------------------------------------------------------------
  259. :  4START.BTM - wird von jeder Shell beim Start neu geladen.
  260. :
  261. :  10.11.1991 (c) Michael Eichhardt
  262. : ------------------------------------------------------------------------
  263. : unter DeskView muß der ANSI-Treiber in einer Shell neu geladen werden
  264. : damit er in einer Shelle nicht mehrfach geladen wird, wird _DVANSI gesetzt
  265. IFF %_dv==1 .AND. %_ansi==1 .AND. "%_DVANSI"=="" .AND. %_WIN==0 THEN
  266.     C:\UTIL\DESQVIEW\DVANSI
  267.     SET _DVANSI=1
  268. ENDIFF
  269.  
  270. Ciao  |\/|
  271.       |  |ike
  272.  
  273. --- Golded 2.32.B0212+
  274.  * Origin: Point 13 - HGS Cologne [14400-HST/V32B] (FidoNet 2:241/5002.13)
  275.  
  276. ------------------------------------------------------------------------
  277.  
  278. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  279.  
  280.  BBS: ESCMAIL         Conference: 4dos(ECHO)      Imported:  5/09/1992
  281.   To: MURRAY WELLS                    Num: 225        Date:  5/06/1992
  282. From: YVES LAVOIE                      Re:            Time:  1:13 am
  283. Subj: 4START.BTM and 4DOS.O          Prvt: N          Read: N
  284.  
  285.  In a message to Matt Curtis, Murray Wells (3:640/556.11) writes:MW
  286.  
  287.  >     So these files are applicable for multi-tasking software such
  288.  > as Desqview? I still don't see the advantage... Wouldn't 4START be
  289.  > executed on powerup or reboot of the computer? WHy would running it
  290.  > *again* be advantageous...?
  291.  
  292. Here's an example: This 4Start.Btm would load the Ansi driver in the 1st
  293. shell of a window when in Dv. ( It MUST be done in each window, DV and
  294. ANSI.SYS in the config don't work together )
  295.  
  296. @*Iff "%_Dv" = "1" Then
  297.         @*If "%DvAnsi" == "" *Set DvAnsi=0
  298.         @*If Not %DvAnsi% GT 0 O:\Utils\Ansi
  299.         @*Set DvAnsi=%@Eval[%DvAnsi+1]
  300. Endiff
  301.  
  302. And here's the 4Exit.Btm:
  303.  
  304. @*Iff "%_Dv" = "1" Then
  305.         @*Set DvAnsi=%@Eval[%DvAnsi-1]
  306.         @*If %DvAnsi LE 0 O:\Utils\Ansi /U
  307. Endiff
  308.  
  309. Yves
  310.  
  311. --- Yammed 0.40.00a - Yet Another Marvelous Message EDitor
  312.  * Origin: TracyOpus, the only Opus in town <Hst/Ds> (1:167/124.0)
  313.  
  314. ------------------------------------------------------------------------
  315.  
  316. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  317.  
  318.  BBS: ESCMAIL         Conference: 4dos(ECHO)      Imported:  5/09/1992
  319.   To: ALL                             Num: 196        Date:  5/05/1992
  320. From: NICHOLAS LEON                    Re:            Time:  1:12 pm
  321. Subj: Change Dir                     Prvt: N          Read: N
  322.  
  323. All:
  324.  
  325. I thought I might post two files that i use. One is called "ND" and it will
  326. change the directory when given only a partial name. If more than one dir is
  327. found, entering ND will cycle thru them.... for example, if you have three
  328. dirs called
  329.  
  330. C:\DOS50
  331. C:\OS2
  332. C:\DOS330
  333.  
  334. And you issue "ND OS" it will go to the first "C:\DOS330", then if you enter
  335. ND by itself it will go to "C:\DOS50" etc...
  336.  
  337. There are two files... ND.BTM, the changer and NDR.BTM to rescan your dirs.
  338.  
  339. ND.BTM
  340. ------
  341.  
  342. @echo off
  343. if "%1"=="" goto NOPARAM
  344.  
  345. c:\dos\find "%@upper[%1]" < c:\batches\nd.dir > c:\batches\nd.dr1
  346. type c:\batches\nd.dr1|input %%nd
  347. if "%nd"=="" goto NOTFOUND
  348. set ndn=1
  349. cdd %nd
  350. unset nd
  351. goto END
  352.  
  353. :NOPARAM
  354. set nd=%@line[c:\batches\nd.dr1,%ndn]
  355. if "%nd"=="" goto NOMORE
  356. cdd %nd
  357. unset nd
  358. set ndn=%@eval[%ndn+1]
  359. goto END
  360.  
  361. :NOMORE
  362. set ndn=0
  363. echo ND: no more directories! Issuing ND again will recycle directories.
  364. goto END
  365.  
  366. :NOTFOUND
  367. echo ND: directory "%@upper[%1]" was NOT found!
  368. goto END
  369.  
  370. :END
  371.  
  372.  
  373. NDR.BTM
  374. -------
  375.  
  376. @echo off
  377. text
  378.  
  379. endtext
  380. pushd
  381. cdd c:\
  382. del c:\batches\nd.dir >NUL
  383.  
  384. for %a in (C D E) gosub SCAN
  385. popd
  386. quit
  387.  
  388. :SCAN
  389. text
  390.  
  391. endtext
  392. echo Scanning Drive %a
  393. *cdd %a:\
  394. global /iq (echo %@upper[%_cwd] >>!c:\batches\nd.dir^echos ■)
  395. return
  396.  
  397. --------- end
  398.  
  399. You have to change the drive letters in NDR.BTM to reflect your own setup. I
  400. also overload the MD and MKDIR to automatically add new dirs to
  401. C:\BATCHES\ND.DIR instead of having to rescan the whole drive. Make sure you
  402. change the directories to reflect YOUR setup.
  403.  
  404. Nicholas!
  405. Sysop of The File-XChange!
  406.  
  407. ... Coming soon OS/2 2.0 & NuBoard BBS!
  408.  
  409. --- GoldED 2.40
  410.  * Origin: The File-XChange! (919) 672-3388! 1GIG Online! (1:3648/5)
  411.  
  412. ------------------------------------------------------------------------
  413.  
  414. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  415.  
  416.  BBS: ESCMAIL         Conference: 4dos(ECHO)      Imported:  5/09/1992
  417.   To: RON FABRE                       Num: 163        Date:  5/02/1992
  418. From: SIMON JOSEFSSON                  Re:            Time:  2:18 pm
  419. Subj: Deleting Files                 Prvt: N          Read: N
  420.  
  421. * In a msg on 21 Apr (15:02), Ron Fabre of 3:635/526 writes:
  422.  
  423.  RF> >>> emptied. For example, KILL C:\FOO (or KILL C:\FOO\) would delete
  424.  
  425.  RF> I'm sure some enterprising 4DOS BTM programmer could create one, but 
  426.  RF> I've found that DRDEL.COM works perfectly. It even searches for and 
  427.  RF> deletes hidden/readonly/system files within the directory structure.
  428.  
  429. If someone would be interested, here's my DDIR (DeleteDIR):
  430.  
  431. _ _ _ O / _ _ C_U_T_ H_E_R_E_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  432.       O \ 
  433.  
  434. @echo off
  435. if %1! eq ! echo Usage: DDIR [d:]path
  436. if %1! eq ! quit
  437.  
  438. if not exist %1\nul echo Invalid path "%@FULL[%1]"
  439. if not exist %1\nul echo      0 directory(s) zapped
  440. if not exist %1\nul quit
  441.  
  442. echo:
  443. echo The following directories, and all the files in them, will be removed:
  444. echo:
  445. echo %@UPPER[%@FULL[%1]]
  446. del e:\temp.$$$ /q >& nul
  447. cd %1
  448. dir /a:d /s /b /f >> e:\temp.$$$
  449. cd..
  450. set linenum=%@LINES[e:\temp.$$$]
  451. set counter=1
  452. if %linenum EQ -1 goto stop_it
  453. :again
  454. if %linenum GE %counter echo %@UPPER[%@LINE[e:\temp.$$$,%counter]]
  455. if %linenum EQ %counter goto stop_it
  456. set counter=%@EVAL[%counter+1]
  457. goto again
  458. :stop_it
  459. echo:
  460. inkey /K"YyNn" Are you sure you want to proceed? (Y/N)  %%yesno
  461. iff %@UPPER[%yesno]! eq N! then
  462.   echo:
  463.   echo *** DDIR Aborted ***
  464.   quit
  465. endiff
  466. set counter=1
  467. echo:
  468. if %linenum EQ -1 goto 2stop_it
  469. :2again
  470. if %linenum GE %counter echo Removing and deleting files in
  471. ********continued******** %@UPPER[%@LINE[e:\temp.$$$,%counter]]
  472. if exist %@LINE[e:\temp.$$$,%counter]\*.* del %@LINE[e:\temp.$$$,%counter] /q
  473. ********continued******** /y /x /h
  474. if not exist %@UPPER[%@LINE[e:\temp.$$$,%counter]]\*.* rd
  475. ********continued******** %@LINE[e:\temp.$$$,%counter] >& nul
  476. if %linenum EQ %counter goto 2stop_it
  477. set counter=%@EVAL[%counter+1]
  478. goto 2again
  479. :2stop_it
  480. echo Removing and deleting files in %@UPPER[%@FULL[%1]]
  481. del %@FULL[%1] /q /y /x /h
  482. if not exist %@UPPER[%@FULL[%1]] rd %@UPPER[%@FULL[%1]] >& nul
  483. del e:\temp.$$$ /q
  484.  
  485. _ _ _ O / _ _ C_U_T_ H_E_R_E_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  486.       O \ 
  487.  
  488. Note: append the lines with '*********continued*********' to the previus
  489. line.. E:\ Must be a valid drive, preferable a ram-disk.. 
  490.  
  491. I noticed a bug (undocumented feature) when i wrote this, the command 
  492. 'DIR /a:d /f /s /c /b' returns paths in lowercase.. IMHO it shouldn't.
  493.  
  494. Enjoy!
  495.  
  496. // JaS
  497.  
  498. --- msgedsq 2.0.5
  499.  * Origin: Simon Josefsson - Sweden, Stockholm. (2:201/111.34)
  500.  
  501. ------------------------------------------------------------------------
  502.  
  503. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  504.  
  505.  BBS: ESCMAIL         Conference: 4dos(ECHO)      Imported:  5/09/1992
  506.   To: SIMON JOSEFSSON                 Num: 189        Date:  5/05/1992
  507. From: BILL HARTING                     Re:            Time:  3:06 pm
  508. Subj: Deleting Files                 Prvt: N          Read: N
  509.  
  510. 02 May 92, Simon Josefsson writes to Ron Fabre:
  511.  
  512.  RF>> I'm sure some enterprising 4DOS BTM programmer could
  513.  RF>> create one, but I've found that DRDEL.COM works
  514.  RF>> perfectly. It even searches for and deletes
  515.  RF>> hidden/readonly/system files within the directory
  516.  RF>> structure.
  517.  
  518.  SJ > If someone would be interested, here's my DDIR (DeleteDIR):
  519.  
  520. Simon, you have some excellent code in there.  I found a way to
  521. tighten it up, though.  Thought you might like to see the results...
  522.  
  523. _ _ _ O / _ _ C_U_T_ H_E_R_E_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  524.       O \
  525.  
  526. @echo off
  527. if %1! eq ! echo Usage : DELDIR [d:]path
  528. if %1! eq ! quit
  529.  
  530. if not exist %1\nul echo Invalid path "%@FULL[%1]"
  531. if not exist %1\nul echo      0 directory(s) zapped
  532. if not exist %1\nul quit
  533.  
  534. echo:
  535. echo The following directories, and all the files in them, will be removed:
  536. echo:
  537. echo %@UPPER[%@FULL[%1]]
  538. del %RAMD%\temp.$$$ /q >& nul
  539. *cd %1
  540. dir /a:d /s /b /f >> %RAMD%\temp.$$$
  541. *cd ..
  542. set linenum=%@LINES[%RAMD%\temp.$$$]
  543. set counter=0
  544. if %linenum EQ -1 goto stop_it
  545. :again
  546. if %linenum GE %counter echo %@UPPER[%@LINE[%RAMD%\temp.$$$,%counter]]
  547. if %linenum EQ %counter goto stop_it
  548. set counter=%@EVAL[%counter+1]
  549. goto again
  550. :stop_it
  551. echo:
  552. inkey /K"YyNn" Are you sure you want to proceed? (Y/N)  %%yesno
  553. iff %@UPPER[%yesno]! eq N! then
  554.   echo:
  555.   echo *** DELDIR Aborted ***
  556.   quit
  557. endiff
  558. set counter=%linenum
  559. echo:
  560. if %linenum EQ -1 goto 2stop_it
  561. :2again
  562. if %linenum GE %counter echo Removing and deleting files in
  563. ********continued******** %@UPPER[%@LINE[%RAMD%\temp.$$$,%counter]]
  564. if exist %@LINE[%RAMD%\temp.$$$,%counter]\*.* del
  565. ********continued******** %@LINE[%RAMD%\temp.$$$,%counter] /q /y /x /z
  566. if not exist %@UPPER[%@LINE[%RAMD%\temp.$$$,%counter]]\*.* *rd
  567. ********continued******** %@LINE[%RAMD%\temp.$$$,%counter] >& nul
  568. if %counter EQ 0 goto 2stop_it
  569. set counter=%@EVAL[%counter-1]
  570. goto 2again
  571. :2stop_it
  572. echo Removing and deleting files in %@UPPER[%@FULL[%1]]
  573. if exist %@UPPER[%@FULL[%1]] del %@FULL[%1] /q /y /x /z
  574. if not exist %@UPPER[%@FULL[%1]] *rd %@UPPER[%@FULL[%1]] >& nul
  575. del %RAMD%\temp.$$$ /q
  576.  
  577. _ _ _ O / _ _ C_U_T_ H_E_R_E_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  578.       O \
  579.  
  580. Note: append the lines with '*********continued*********' to
  581. the previus line.
  582.  
  583. %RAMD% is an enviromment variable set at boot-up in Autoexec.bat
  584. pointing to a ram disk (SET RAMD=D:).  If RAMD is not set, the current
  585. disk will be used.
  586.  
  587. Note that in the section where the deletion begins, it now starts with
  588. the last line in TEMP.$$$ and works it's way up.  If you work from the
  589. top down, any directory that had nested subdirectories could not be
  590. removed.  This way, the directory furthest down the tree is removed
  591. first, making it possible to remove it's parent directory.
  592.  
  593. Also, in the section where you echo out the directory names for
  594. viewing and approval of deletion, the first line of TEMP.$$$ won't be
  595. echoed if your Counter variable is originally set to 1.  To echo the
  596. first line of a file, the syntax is %@LINE[Filename,0].  I'm not sure
  597. why it's 0 instead of 1, but after some testing, that proved to be the
  598. case.
  599.  
  600. You had originally used the command line switch /h with the Delete
  601. command.  This is not a valid switch.  I'm assuming you wanted to
  602. delete hidden, system, and read-only files, and the proper switch for
  603. that is /z.
  604.  
  605. The code can be made even shorter by replacing the code to echo out
  606. TEMP.$$$ line by line:
  607.  
  608. set linenum=%@LINES[%RAMD%\temp.$$$]
  609. .
  610. .
  611. .
  612. :stop_it
  613.  
  614. with the single line:
  615.  
  616. type %RAMD%\temp.$$$
  617.  
  618. but that's not _nearly_ as elegant.
  619.  
  620. Bill
  621.  
  622. ---
  623.  * Origin: Bill Harting, Justice League Headquarters (1:3603/150.88)
  624.  
  625. ------------------------------------------------------------------------
  626.  
  627. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  628.  
  629.  BBS: ESCMAIL         Conference: 4dos(ECHO)      Imported:  5/09/1992
  630.   To: SIMON JOSEFSSON                 Num: 229        Date:  5/04/1992
  631. From: JUSSI JAASKELAINEN               Re:            Time:  4:43 pm
  632. Subj: Deleting Files                 Prvt: N          Read: N
  633.  
  634.  >  RF> I'm sure some enterprising 4DOS BTM programmer could create one, but
  635.  >  RF> I've found that DRDEL.COM works perfectly. It even searches for and
  636.  >  RF> deletes hidden/readonly/system files within the directory structure.
  637.  
  638.  > If someone would be interested, here's my DDIR (DeleteDIR):
  639.  
  640. Why do every thing so hard way... Next alias do every same...
  641.  
  642. Alias ZAP `del %&\. /sx /z`
  643.  
  644. Alias dels all files (including Hidden, read-only, system) and all
  645. sub-dirs...
  646.  
  647. SM FAdpC
  648.  
  649. ---
  650.  * Origin: SM Home Point.... Point of Salpu Ra. (2:221/105.5)
  651.  
  652. ------------------------------------------------------------------------
  653.  
  654. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  655.  
  656.  BBS: ESCMAIL         Conference: 4dos(ECHO)      Imported:  5/09/1992
  657.   To: ALL                             Num: 170        Date:  5/04/1992
  658. From: WILLIAM HUGHES                   Re:            Time:  7:47 pm
  659. Subj: Rounding Numbers               Prvt: N          Read: N
  660.  
  661. CORRECTED COPY (Sorry, found a couple of glitches in the one I posted
  662. yesterday)
  663.  
  664. ::
  665. ----------------------------------------------------------------------------
  666. :: File       : ROUND.BTM
  667. :: Purpose    : Round numeric data to specified position
  668. :: Parameters : 1 - Position, 2 - Number to be rounded (see OOPS)
  669. :: Usage      : ROUND [POS] [NUMBER]
  670. :: Comments   : Returns environment variable _RND_
  671. :: Author     : William Hughes @ 1:387\255
  672. :: Date       : 3 May 92
  673. ::
  674. ---------------------------------------------------------------------------
  675. if "%1"=="" .OR. "%2"=="" goto ROUND_OOPS
  676.  
  677. set _RND_=0
  678.  
  679. set VAL_IN=%2
  680.  
  681. set INT_IN=%@int[%VAL_IN]
  682.  
  683. set DEC_IN=%@eval[%VAL_IN-%@int[%VAL_IN]]
  684.  
  685. if %1 LT 1 goto FRACTION
  686. if %1 GT 1 goto INTEGERS
  687. if %1 EQ 1 goto UNITS
  688. goto OOPS
  689.  
  690. :FRACTION
  691.  
  692. set ZEROS=%@len[%1]
  693. set CORR_F=%@substr[10000000000,0,%ZEROS]
  694.  
  695. set SHIFT=%@eval[%DEC_IN*%CORR_F]
  696. set CHECK=%@eval[%SHIFT-%@int[%SHIFT]]
  697. iff %@eval[%CHECK-0.5] LT 0 then
  698.     set DEC=%@eval[%@int[%SHIFT]/%CORR_F]
  699. else
  700.     set DEC=%@eval[%@eval[%@int[%SHIFT]+1]/%CORR_F]
  701. endiff
  702. set _RND_=%@eval[%INT_IN+%DEC]
  703. goto ROUND_ENDIT
  704.  
  705. :UNITS
  706.  
  707. iff %@eval[%DEC_IN-.5] LT 0 then
  708.     set _RND_=%INT_IN
  709. else
  710.     set _RND_=%@eval[%INT_IN+1]
  711. endiff
  712. goto ROUND_ENDIT
  713.  
  714. :INTEGERS
  715.  
  716. set CORR_F=%1
  717.  
  718. set SHIFT=%@eval[%INT_IN/%CORR_F]
  719. set CHECK=%@eval[%SHIFT-%@int[%SHIFT]]
  720. iff %@eval[%CHECK-0.5] LT 0 then
  721.     set _RND_=%@eval[%@int[%SHIFT]*%CORR_F]
  722. else
  723.     set _RND_=%@eval[%@eval[%@int[%SHIFT]+1]*%CORR_F]
  724. endiff
  725. goto ROUND_ENDIT
  726.  
  727. :ROUND_OOPS
  728.  
  729. echo Syntax - ROUND [units] [number to be rounded]
  730. echo.
  731. echo where [units] is .01  = hundredths
  732. echo                  .1   = tenths
  733. echo                  1    = units
  734. echo          10   = tens
  735. echons
  736. echo
  737. echo and so forth. The program is open-ended (within the limits of 4DOS).
  738. echo.
  739. echo ROUND returns the rounded value in the environment variable _RND_.
  740.  
  741. :ROUND_ENDIT
  742.  
  743. set VAL_IN=
  744. set INT_IN=
  745. set DEC_IN=
  746. set SHIFT=
  747. set CHECK=
  748. set DEC=
  749. set CORR_F=
  750. set ZEROS=
  751.  
  752.  
  753.  * SLMR 2.1a * 
  754.  
  755. --- MsgToss 2.0b (r)
  756.  * Origin: Nul 512-615-NUL1 HST/V32b,615-NUL2, NUL3, 1.2Gig (1:387/255)
  757.  
  758. ------------------------------------------------------------------------
  759.  
  760. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  761.  
  762.  BBS: ESCMAIL         Conference: 4dos(ECHO)      Imported:  5/09/1992
  763.   To: WILLIAM HUGHES                  Num: 206        Date:  5/06/1992
  764. From: FURLAN PRIMUS                    Re:            Time:  4:15 pm
  765. Subj: Rounding Numbers               Prvt: N          Read: N
  766.  
  767. Hello William,
  768.  
  769. languaging in a message on <May 04 19:47>, in 4DOS, you wrote:
  770.  
  771.  WH> :ROUND_OOPS
  772.  
  773.  WH> echo Syntax - ROUND [units] [number to be rounded]
  774.  WH> echo.
  775.  WH> echo where [units] is .01  = hundredths
  776.  WH> echo                  .1   = tenths
  777.  WH> echo                  1    = units
  778.  WH> echo          10   = tens
  779.  WH> echons
  780.  WH> echo
  781.  WH> echo and so forth. The program is open-ended (within the limits 
  782.  WH> of 4DOS).
  783.  WH> echo.
  784.  WH> echo ROUND returns the rounded value in the environment variable 
  785.  WH> _RND_.
  786.  
  787.  WH> :ROUND_ENDIT
  788.  
  789.  WH> set VAL_IN=
  790.  WH> set INT_IN=
  791.  WH> set DEC_IN=
  792.  WH> set SHIFT=
  793.  WH> set CHECK=
  794.  WH> set DEC=
  795.  WH> set CORR_F=
  796.  WH> set ZEROS=
  797.  
  798. nice idea!  how about:
  799.  
  800. :ROUND_OOPS                                                     
  801. cls
  802. TEXT
  803.  
  804.      Syntax - ROUND [units] [number to be rounded]              
  805.                                                                 
  806.      where [units] is .01  = hundredths                         
  807.                       .1   = tenths                                          
  808.                        1    = units                              
  809.                       10   = tens                                       
  810.                                                                 
  811.      and so forth. The program is open-ended (within the limits of 4DOS).
  812.                                                                   
  813.      ROUND returns the rounded value in the environment variable _RND_.
  814.  
  815. ENDTEXT
  816. goto coda
  817.  
  818. -------------------------------
  819.  
  820. and:
  821.  
  822. :ROUND_ENDIT
  823.             
  824. unset VAL_IN INT_IN DEC_IN SHIFT CHECK DEC CORR_F ZEROS
  825.  
  826. :CODA
  827.  
  828. fl
  829.                               
  830.  
  831. --- msgedsq 2.0.5
  832.  * Origin: This is only a test. For the next sixty.... (1:141/590)
  833. )
  834.  
  835. ------------------------------------------------------------------------
  836.  
  837. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  838.  
  839.  BBS: ESCMAIL         Conference: 4dos(ECHO)      Imported:  5/09/1992
  840.   To: ALL                             Num: 171        Date:  5/04/1992
  841. From: WILLIAM HUGHES                   Re:            Time:  7:49 pm
  842. Subj: Variable Length                Prvt: N          Read: N
  843.  
  844. Ever needed to output environment variables in a columnar format?
  845. For example, a list of names and phone numbers? Try this one...
  846.  
  847. ::
  848. ----------------------------------------------------------------------------
  849. :: File       : VARLEN.BTM
  850. :: Purpose    : Set variable to specified length (for output formatting)
  851. :: Parameters : 1 - Length, 2 - Variable value to be edited
  852. :: Usage      : VARLEN [LENGTH] [VARIABLE]
  853. :: Comments   : Returns environment variable _VARLEN_
  854. :: Author     : William Hughes @ 1:387/255
  855. :: Date       : 4 May 92
  856. ::
  857. ---------------------------------------------------------------------------
  858. if "%1"=="" .OR. "%2"=="" goto VL_OOPS
  859.  
  860. set _VARLEN_=0
  861. set L_FLAG=N
  862. set VAL_IN=%2
  863.  
  864. :VL_LOOP
  865.  
  866. iff %@len[%VAL_IN] LT %1 then
  867.    set VAL_IN= %VAL_IN
  868.    set L_FLAG=Y
  869. else
  870.    set L_FLAG=N
  871. endiff
  872.  
  873. if %L_FLAG=Y goto VL_LOOP
  874.  
  875. set _VARLEN_=%VAL_IN
  876.  
  877. goto VL_ENDIT
  878.  
  879. :VL_OOPS
  880.  
  881. echo Syntax - VARLEN [length] [variable]
  882. echo.
  883. echo VARLEN returns the edited value in the environment variable _VARLEN_.
  884. echo.
  885. echo NOTE - If the variable is longer than the specified length, it will be
  886. echo returned unchanged
  887.  
  888. :VL_ENDIT
  889.  
  890. set VAL_IN=
  891. set L_FLAG=
  892.  
  893.  
  894.  * SLMR 2.1a * 
  895.  
  896. --- MsgToss 2.0b (r)
  897.  * Origin: Nul 512-615-NUL1 HST/V32b,615-NUL2, NUL3, 1.2Gig (1:387/255)
  898.  
  899. ------------------------------------------------------------------------
  900.  
  901. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  902.  
  903.  BBS: ESCMAIL         Conference: 4dos(ECHO)      Imported:  5/10/1992
  904.   To: JUHO LAITINEN                   Num: 246        Date:  5/07/1992
  905. From: STEN DRESCHER                    Re:            Time:  7:41 pm
  906. Subj: Problems...                    Prvt: N          Read: N
  907.  
  908.  JL> I have a problem. I'd like to have kinda "internal" calculator while
  909.  JL> using 4DOS. So, I made myself an alias like this;
  910.  JL>
  911.  JL> cal=echo %@eval[%1]
  912.  JL>
  913.  JL> It works quite well with normal *-+  -  calculations. In the online-help
  914.  JL> they have written this function (eval) could do all /*-+% -
  915. calculations.
  916.  JL> Doesn't seem so to me. Maybe someone real software guru could enlighten
  917.  JL> me the subject...?
  918.  
  919.         Try using
  920.                 cal=echo[%&]
  921.         The / character splits the parameter list, so if, for example,
  922.         you entered
  923.                 cal 34/2
  924.         %1 wouuld only be '34' and %2 would be '/2'.  %& would be
  925.         '34/2', which is what you want.
  926.  
  927.         -Sten
  928.  
  929. --- EZPoint V2.2
  930.  * Origin: Ten Forward.NUL, San Antonio, TX (1:387/255.104)
  931.  
  932. ------------------------------------------------------------------------
  933.  
  934. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  935.  
  936.  BBS: ASTRIX          Conference: 4DOS            Imported:  5/10/1992
  937.   To: JOHN DURSO                      Num: 12416      Date:  5/03/1992
  938. From: TOM RAWSON                       Re: 0          Time:  1:28 pm
  939. Subj: 4DOS CHANGE DATE?              Prvt: N          Read: N
  940.  
  941. JD>Is there any way to change the date of a file (binary) to the
  942. JD>current day in 4DOS?  In MS DOS I could do this by copying it to
  943. JD>itself:
  944.  
  945. Try this:
  946.  
  947.    type nul>zb       (creates a 0-byte file)
  948.  
  949.    copy file+zb      (appends the 0-byte file to the original)
  950.  
  951. That should work in either command processor.
  952.  
  953.                                                       ... Tom
  954.  
  955.  
  956.  
  957.  
  958. PCRelay:CHANNEL -> #15 RelayNet (tm)
  959.                                                                                                 
  960. PCRelay:DCINFO -> #16 MetroLink (tm) International Network
  961. 4.10              DC Info Exchange MetroLink International Hub
  962.      
  963.  
  964. ------------------------------------------------------------------------
  965.  
  966. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  967.  
  968.  BBS: ASTRIX          Conference: 4DOS            Imported:  5/10/1992
  969.   To: JOHN DURSO                      Num: 12415      Date:  5/03/1992
  970. From: TOM RAWSON                       Re: 0          Time:  1:24 pm
  971. Subj: 4DOS SCREEN EFFECTS            Prvt: N          Read: N
  972.  
  973. JD>In 4DOS, is there a way to change the effects of text displayed on
  974. JD>a mono screen while running a batch program?  I see you can change
  975. JD>the  colors for a color monitor, but how can you reverse the text
  976. JD>or make it blink or make it bold on a Mono monitor?
  977.  
  978. All the following should work as 4DOS color specs (COLOR, CLS, COLORDIR,
  979. SCRPUT, etc.) on a mono system:
  980.  
  981.       white on black
  982.       bright white on black
  983.       blink white on black
  984.       bright blink white on black
  985.       black on white
  986.       blink black on white
  987.  
  988. I don't think "bright black" will do much for you <g> so I left it out,
  989. but all the above should work.
  990.  
  991.                                                       ... Tom
  992.  
  993.  
  994. PCRelay:CHANNEL -> #15 RelayNet (tm)
  995.                                  
  996.  
  997. ------------------------------------------------------------------------
  998.  
  999. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  1000.  
  1001.  BBS: ASTRIX          Conference: 4DOS            Imported:  5/10/1992
  1002.   To: JOHN DURSO                      Num: 12393      Date:  5/02/1992
  1003. From: DON GARRETT                      Re: 0          Time:  7:35 pm
  1004. Subj: CAN 4DOS DO IT?                Prvt: N          Read: N
  1005.  
  1006. JD}Is there a way to get 4dos to copy files from a dir command that
  1007. JD}was saved to a file?  For example.
  1008.  
  1009. JD}if a dir > file command leaves the following  in a file, could you
  1010. JD}get 4dos to read this file and copy the 8 files to d:\ ?
  1011.  
  1012. JD}If so, how?  I know your going to say, why not just type a batch
  1013. JD}file with the names in  there saying to copy them directly.  But a
  1014. JD}program I use creates these files in this format.
  1015.  
  1016. Yep!  4DOS can do anything!{g}
  1017.  
  1018. Like this:
  1019.  
  1020.      dir /b /f > file.lst
  1021.      for %%n in (@file.lst) do copy %%n d:\
  1022.  
  1023. Note that the /b and /f switches give me the full path format of
  1024. the file names with no header or footer.
  1025.  
  1026. {don}
  1027.  
  1028. PCRelay:CYBER -> #254 RelayNet (tm)
  1029.                                                                          
  1030.  
  1031. ------------------------------------------------------------------------
  1032.  
  1033. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  1034.  
  1035.  BBS: ASTRIX          Conference: 4DOS            Imported:  5/10/1992
  1036.   To: KINLEY BRAUER                   Num: 12491      Date:  5/07/1992
  1037. From: DENNIS MCCUNNEY                  Re: 0          Time:  3:08 pm
  1038. Subj: CAN 4DOS DO IT?                Prvt: N          Read: N
  1039.  
  1040. KB> OK, then how about using a dir to create a filelist of only new files
  1041. KB> across all subdirectories to then be PKZIPed. And if in the process I
  1042. KB> could exclude some files, even better.
  1043.  
  1044.     Something like this might do it (untested, but will give you the
  1045. idea):
  1046.  
  1047.     : backnew.btm - create ZIP containing all new files on drive
  1048.  
  1049.     @echo off
  1050.  
  1051.     : change to root directory
  1052.     pushd \
  1053.  
  1054.     : execute in each sub-directory on the drive, against all files
  1055.     : in the dir
  1056.     global for %%file in (*.*) do (
  1057.  
  1058.         : for each file, see if file datestamp matches current date
  1059.         : if it does, write out full pathname of file to "ziplist
  1060.         : in the directory pointed to by %temp
  1061.         : (the following 2 lines should be on one line)
  1062.         except (%1) if "%@filedate[%file]=="%_date" echo %@name[%file]
  1063.             >>%temp\ziplist
  1064.         )
  1065.  
  1066.     : run PKZIP, and pass it the list of files we generated
  1067.     pkzip -a -ex newfiles @%temp\ziplist.txt
  1068.  
  1069.     : return to starting location
  1070.     popd
  1071.  
  1072.  
  1073. PCRelay:RUNNINGB -> #3 RelayNet (tm)
  1074. 4.11                Running Board 2126541349/DS/2125191791/HST/
  1075.                                      
  1076. PCRelay:DCINFO -> #16 MetroLink (tm) International Network
  1077. 4.10              DC Info Exchange MetroLink International Hub
  1078.      
  1079.  
  1080. ------------------------------------------------------------------------
  1081.  
  1082. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  1083.  
  1084.  BBS: ASTRIX          Conference: 4DOS            Imported:  5/10/1992
  1085.   To: ALL                             Num: 12369      Date:  4/30/1992
  1086. From: RICHARD AMICK                    Re: 0          Time:  5:16 pm
  1087. Subj: Hidden 4DOS 4.0 Feature        Prvt: N          Read: N
  1088.  
  1089. As you undoubtedly know, the Tab, Shift-Tab, and Ctrl-Bksp keys are
  1090. provided as equivalents for F9, F8, and Ctrl-R, respectively.  If you've
  1091. ever wanted to eliminate their special behavior for any reason, there's
  1092. a way to do it.  The undocumented ClearKeyMap command in 4DOS.INI clears
  1093. the remapping for Tab, Shift-Tab, and Ctrl-Bksp, allowing you to do with
  1094. them what you will.  I HAVE tried it myself, and it WILL work in primary
  1095. or secondary shells, though ClearKeyMap must be in the file when you
  1096. reboot to take effect.
  1097. ---
  1098.  ■ OLX 2.2 ■ Möbius strippers never show you their back side.
  1099.  
  1100. PCRelay:EDSHOME -> #780 RelayNet (tm)
  1101.            
  1102.  
  1103. ------------------------------------------------------------------------
  1104.  
  1105. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  1106.  
  1107.  BBS: ASTRIX          Conference: 4DOS            Imported:  5/10/1992
  1108.   To: ED AURIA                        Num: 12459      Date:  5/05/1992
  1109. From: DAVID KUNZ                       Re: 12149      Time:  7:46 pm
  1110. Subj: REFERENCE BY REFERENCE         Prvt: N          Read: N
  1111.  
  1112. EA║        Anyone who can help, please do.  I'm trying to reference an
  1113. EA║ environment variable in terms of another.  Allow me to illustrate:
  1114. EA║
  1115. EA║        SET IDX = 1
  1116. EA║        INPUT %%ITEM%IDX ;sets ITEM1 input
  1117. EA║        ECHO %ITEM%%IDX  ;should reference ITEM1
  1118. EA║
  1119. EA║ This approach doesn't work.  I would appeciate any and all input from
  1120. EA║ wherever it may come.
  1121.  
  1122. This is described somewhere in the manual.  I had the same problem and
  1123. finally, in despiration, I RFTM <grin>.  But...
  1124.  
  1125. ───<snip>─<snip>───<snip>──────────────────────────────────────────────────────
  1126.  
  1127.      The variable names you use this way may contain any alphabetic
  1128.      or numeric characters, the underscore character [_], and the
  1129.      dollar sign [$].  You can force 4DOS to accept other
  1130.      characters by including the full variable name in square
  1131.      brackets, like this: %[AB##2].  You can also "nest"
  1132.      environment variables using square brackets.  For example
  1133.      %[%var1] means "the contents of the variable whose name is
  1134.      stored in VAR1".
  1135.  
  1136. ───<snip>─<snip>───<snip>──────────────────────────────────────────────────────
  1137.  
  1138. I just tested the following:
  1139.  
  1140.      setlocal
  1141.      set a=1
  1142.      input %%b%a
  1143.      echo %[b%a]
  1144.  
  1145. Hope that this helps!
  1146. David Kunz
  1147. ---
  1148.  ■ MegaMail : fraud(n): Telephone support number starting with "1-900"
  1149.  
  1150. PCRelay:WTHREEJP -> #75 RelayNet (tm)
  1151.                                                       
  1152.  
  1153. ------------------------------------------------------------------------
  1154.  
  1155. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  1156.  
  1157.  BBS: ASTRIX          Conference: 4DOS            Imported:  5/10/1992
  1158.   To: MARK SHADLEY                    Num: 12516      Date:  5/08/1992
  1159. From: DAVID KUNZ                       Re: 0          Time:  6:35 pm
  1160. Subj: REFERENCE BY REFERENCE         Prvt: N          Read: N
  1161.  
  1162. MS║ EA│        Anyone who can help, please do.  I'm trying to reference an
  1163. MS║   │ environment variable in terms of another.  Allow me to illustrate:
  1164. MS║
  1165. MS║ EA│        SET IDX = 1
  1166. MS║   │        INPUT %%ITEM%IDX ;sets ITEM1 input
  1167. MS║   │        ECHO %ITEM%%IDX  ;should reference ITEM1
  1168. MS║
  1169. MS║ EA│ This approach doesn't work.  I would appeciate any and all input fr
  1170. MS║   │ wherever it may come.
  1171. MS║
  1172. MS║ EA│                                         Ed Auria
  1173. MS║
  1174. MS║ Try:
  1175. MS║
  1176. MS║ SET IDX=1
  1177. MS║ INPUT %%ITEM
  1178. MS║ ECHO %ITEM%%IDX
  1179.  
  1180. I believe that he is trying to use idx as an index like an array.  In
  1181. this case, the manual recommends using the following syntax:
  1182. %[item%idx].  Try it (replace <at> with "at" sign):
  1183.  
  1184. echo off
  1185. setlocal
  1186. : store even numbers from 2-20 in item[idx]
  1187. set idx=1
  1188. :loop1
  1189.   set item%idx=%<at>eval[%idx*2]
  1190.   set idx=%<at>eval[%idx+1]
  1191.   if %idx le 10 goto loop1
  1192. : recall numbers from item[idx]
  1193. set idx=1
  1194. :loop2
  1195.   echo %[item%idx]
  1196.   set idx=%<at>eval[%idx+1]
  1197.   if %idx le 10 goto loop2
  1198.  
  1199. It will give you the even numbers from 2-20.
  1200.  
  1201. David Kunz
  1202. ---
  1203.  ■ MegaMail : Stupidity does not qualify as a handicap, park elsewhere!
  1204.  
  1205. PCRelay:WTHREEJP -> #75 RelayNet (tm)
  1206.                                                                                                           
  1207. PCRelay:DCINFO -> #16 MetroLink (tm) International Network
  1208. 4.10              DC Info Exchange MetroLink International Hub
  1209.      
  1210.  
  1211. ------------------------------------------------------------------------
  1212.  
  1213. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  1214.  
  1215.  BBS: ASTRIX          Conference: 4DOS            Imported:  5/10/1992
  1216.   To: ALL                             Num: 12355      Date:  4/28/1992
  1217. From: DAVID CRONSHAW                   Re: 0          Time:  9:33 am
  1218. Subj: Saving/Renaming .QWK file      Prvt: N          Read: N
  1219.  
  1220. People reading this are, by definition, BBS users. Many will probably
  1221. use offline mail readers, as I do. In doing so, I found I wanted to save
  1222. my .QWK files, but since they're always downloaded with the same name,
  1223. for a given BBS, they must be renamed if they're not to overwrite
  1224. earlier versions. I decided to rename the files when saving by adding
  1225. two digits to the name. e.g. File DOWNEY.QWK would be saved as
  1226. DOWNEY31.QWK
  1227. if I'd already saved previous .QWK files from the DOWNEY BBS as
  1228. DOWNEY01.QWK through DOWNEY30.QWK.
  1229.  
  1230. So, I automated the renaming and saving using some of 4DOS's facilities.
  1231. Here's the .BAT file extract (I have it in the .BAT file which invokes
  1232. my COMM program (Boyan 5.0)).
  1233.  
  1234. Note: It isn't necessary for ALL the previously saved .QWK files to
  1235. exist in the save directory, the routine finds only the highest numbered
  1236. one. So you can delete, or archive, earlier ones, just leave the most
  1237. recently saved one in the save directory.
  1238.  
  1239. If it's useful to you, enjoy it! If not, toss it!
  1240.  
  1241. :chkmail
  1242. rem %RD% is environment var holding path to temp or RAM disk (e.g. E:\)
  1243. rem %HD% is environment var holding path to main disk (e.g. C:\).
  1244. rem Command separator char is '&' (may cause trouble in this comment)
  1245. rem .QWK files are downloaded into Boyan50\bbs\files directory
  1246. rem .QWK files are saved in %HD%boyan50\bbs\mail directory.
  1247. rem Check if any .QWK files downloaded
  1248. if not exist %RD%boyan50\bbs\files\*.qwk goto endjob
  1249. rem Initialize vars used (A1=1st digit, A2=2nd digit, FA= .QWK file name)
  1250. set A1=0
  1251. set A2=0
  1252. set FA=
  1253. for %A in (%RD%boyan50\bbs\files\*.qwk) set FA=%@NAME[%A]
  1254. rem Get value of 1st digit for most recent previously saved .QWK file
  1255. for %A in (9 8 7 6 5 4 3 2 1 0) do (
  1256.  if exist %HD%boyan50\bbs\mail\%[FA]%A?.qwk (set A1=%A & goto gota1))
  1257.  
  1258. :gota1
  1259. rem Get value of 2nd digit of most recentl previously saved .QWK file
  1260. for %A in (9 8 7 6 5 4 3 2 1 0) do (
  1261.  if exist %HD%boyan50\bbs\mail\%[FA]%[A1]%A.qwk (set A2=%A & goto gota2))
  1262.  
  1263. :gota2
  1264. rem Convert digits to numeric value and increment it.
  1265. set FN=%@EVAL[%[A1]%A2+1]
  1266. rem Cycle back to 1 if overflow
  1267. if %FN/==100/ set FN=1
  1268. rem Add leading '0' if value is single digit
  1269. if %FN/ LT 10/ set FN=`0`%FN
  1270. rem Save and rename new .QWK file
  1271. move %RD%boyan50\bbs\files\%FA%.qwk %HD%boyan50\bbs\mail\%[FA]%FN.qwk
  1272. rem Cycle back to check for more .QWK files
  1273. goto chkmail
  1274.  
  1275.  
  1276.  
  1277.  
  1278. PCRelay:DOWNEY -> #1435 RelayNet (tm)
  1279. 4.11              The Downey BBS, Downey CA  310-806-2226 v.32
  1280.                                                                                                                    
  1281. PCRelay:DCINFO -> #16 MetroLink (tm) International Network
  1282. 4.10              DC Info Exchange MetroLink International Hub
  1283.      
  1284.  
  1285. ------------------------------------------------------------------------
  1286.  
  1287. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  1288.  
  1289.  BBS: ASTRIX          Conference: 4DOS            Imported:  5/10/1992
  1290.   To: DAVID CRONSHAW                  Num: 12376      Date:  4/30/1992
  1291. From: JAY HANNA                        Re: 0          Time:  1:22 am
  1292. Subj: SAVING/RENAMING .QWK FILE      Prvt: N          Read: N
  1293.  
  1294. DC>People reading this are, by definition, BBS users. Many will probably
  1295. DC>use offline mail readers, as I do. In doing so, I found I wanted to save
  1296. DC>my .QWK files, but since they're always downloaded with the same name,
  1297.  
  1298. David I had the same problem, and although my solution isn't as elegant it
  1299. works like a charm.
  1300.  
  1301. zed=move c:\telix\mail\zed.qwk a:^if exist c:\telix\up\zed.rep copy
  1302. c:\telix\up\zed.rep a:^ren a:zed.* %_date.*
  1303.  
  1304. Now I have saved mail packets with new names 04-29-92.qwk and 04-29-92.rep
  1305.  
  1306.  
  1307.  
  1308. ⌡Æy
  1309. ---
  1310.  ■ SLMR 2.1 ■ Always practice safe hex!
  1311.  
  1312. PCRelay:ZED -> #200 RelayNet (tm)
  1313.                                             
  1314.  
  1315. ------------------------------------------------------------------------
  1316.  
  1317. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  1318.  
  1319.  BBS: ASTRIX          Conference: 4DOS            Imported:  5/10/1992
  1320.   To: DAVID CRONSHAW                  Num: 12456      Date:  5/05/1992
  1321. From: STANLEY KOHN                     Re: 0          Time:  5:46 am
  1322. Subj: Saving/Renaming .QWK file      Prvt: N          Read: N
  1323.  
  1324. DC>... I found I wanted to save
  1325. DC>my .QWK files, but since they're always downloaded with the same name,
  1326. DC>for a given BBS, they must be renamed if they're not to overwrite
  1327. DC>earlier versions. I decided to rename the files when saving by adding
  1328. DC>two digits to the name. e.g. File DOWNEY.QWK would be saved as
  1329. DC>DOWNEY31.QWK
  1330.  
  1331. I also have written a 4DOS batch file to do the same thing.  It simply
  1332. numbers the QWK files in sequence.  It is not necessary to use a strict
  1333. two digit naming sequence.
  1334.  
  1335. REM Rename QMail downloads
  1336. :newqm 
  1337. REM Script to rename QWK packets in numbered sequence
  1338. REM Usage:   newqm <BBS name>
  1339.  
  1340. @echo off
  1341. setlocal
  1342.  
  1343. REM all QWK files are in directory c:\files
  1344. cd c:\files
  1345.  
  1346. REM Set BBS name
  1347. set bbs=%@name[%1]
  1348. set start=%@len[%bbs]
  1349. echo bbs = %bbs
  1350.  
  1351. REM Number will be the sequence number of new file
  1352. set number=0
  1353.  
  1354. REM Find Highest number used so far
  1355. for %%p in (%bbs*.qwk) do (
  1356.  set g=%@name[%p]
  1357.  iff %g != %bbs then
  1358.    set i=%@substr[%g, %start, 6]
  1359.    iff %i GT %number then
  1360.        set number=%i
  1361.    endiff
  1362.  endiff
  1363. )
  1364.  
  1365. REM add 1 to number
  1366. set number=%@eval[%number + 1]
  1367.  
  1368. REM Rename File
  1369. ren %bbs.qwk %bbs%%number%.qwk
  1370. endlocal
  1371.  
  1372.  
  1373.  
  1374. It is amazing how much the latest improvements to 4DOS are starting to
  1375. make the batch language look like a real language.
  1376. ---
  1377.  ■ DeLuxe² 1.21 #9319 ■  .
  1378.  ■ RNet 1.08G:MISSING
  1379.                                                                                
  1380. PCRelay:DCINFO -> #16 MetroLink (tm) International Network
  1381. 4.10              DC Info Exchange MetroLink International Hub
  1382.      
  1383.  
  1384. ------------------------------------------------------------------------
  1385.  
  1386. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  1387.  
  1388.  BBS: ASTRIX          Conference: 4DOS            Imported:  5/10/1992
  1389.   To: LOREN OLSON                     Num: 12410      Date:  5/03/1992
  1390. From: TOM RAWSON                       Re: 0          Time: 12:20 pm
  1391. Subj: SELECT                         Prvt: N          Read: N
  1392.  
  1393. LO>I am finding so many uses for the select command now.  But, I would to
  1394. LO>find a way to assign the select command to different keys.  I suspect
  1395. LO>this can be done.  In this way I could use copy, delete, move and so on
  1396. LO>in a much easier fashion.
  1397.  
  1398. Sorry for the delay here Loren ...
  1399.  
  1400. How about this.  First step, make it an alias:
  1401.  
  1402.    alias sdel=`select del (%&)`
  1403.  
  1404. Now you want it assigned to (say) F5?  Try this:
  1405.  
  1406.    alias @F5=`sdel `
  1407.  
  1408. This will just put 'sdel ' on a line when you press F5.  Then you type
  1409. the filename specification and hit Enter, eg if you type
  1410. "<F5>*.bak<Enter>" it is the same as "select del (*.bak)<Enter>".
  1411.  
  1412. One more, let's say you want to do it with *.* on a regular basis, then
  1413. you can assign it to a key alias like the above (say Shift-F5) and not
  1414. even have to hit Enter:
  1415.  
  1416.    alias @Shift-F5=`select del (*.*)r`
  1417.  
  1418. (see the manual for details on what the r is doing).
  1419.  
  1420.                                                       ... Tom
  1421.  
  1422.  
  1423. PCRelay:CHANNEL -> #15 RelayNet (tm)
  1424.                      
  1425.  
  1426. ------------------------------------------------------------------------
  1427.  
  1428. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  1429.  
  1430.  BBS: ESCMAIL         Conference: 4dos(ECHO)      Imported:  5/15/1992
  1431.   To: ROY MCNEILL                     Num: 319        Date:  5/12/1992
  1432. From: WILLIAM HUGHES                   Re:            Time:  9:10 am
  1433. Subj: 4start.btm And 4dos.in         Prvt: N          Read: N
  1434.  
  1435. RM>Here is THE classic use of 4start.btm. Haven't you ever been
  1436.   >shelled out to dos from (say) 123 to do some dos things, and
  1437.   >then restarted by typing  123  instead of   exit  ? because
  1438.   >you forgot you were shelled?  This is my 4start.btm:
  1439.  
  1440. I put the shell indicator in my standard prompt...
  1441.  
  1442. PROMPT=$_$_$E[37;40;1mUTSA $E[37;44;1m * $E[37;41;1m<ASCII223x3>$E
  1443.        [37;40;1m CWR $E[37m* $E[32m$T * $d $_$E[
  1444.        33m$XC:  (%%@DISKFREE[C:,k]K) * $XD:  (%%
  1445.        @DISKFREE[D:,k]K)$E[37m * $E[34mMemory: %
  1446.        @dosmem[K]K$_$E[35m%%BOOT * 4DOS %_4VER * MSDOS %_DOSVER $E
  1447.        [37m* $E[36mShell: $z $E[37m* $E[37m$P$G  
  1448.                    ^^^^^^^^^^
  1449. so I always know where I am. :-)
  1450.  
  1451. [Note: The %%BOOT is from BOOT.SYS]
  1452.  
  1453.  
  1454.  * SLMR 2.1a * 
  1455.  
  1456. --- MsgToss 2.0b (r)
  1457.  * Origin: Nul 512-615-NUL1 HST/V32b,615-NUL2, NUL3, 1.2Gig (1:387/255)
  1458.  
  1459. ------------------------------------------------------------------------
  1460.  
  1461. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  1462.  
  1463.  BBS: ESCMAIL         Conference: 4dos(ECHO)      Imported:  5/15/1992
  1464.   To: JONATHAN RAPOPORT               Num: 315        Date:  5/12/1992
  1465. From: DARRYL GREGORASH                 Re:            Time:  2:54 am
  1466. Subj: Recommended 4DOS.INI sett      Prvt: N          Read: N
  1467.  
  1468.  > Here is my 4dos.ini file.
  1469.  
  1470. What DOS version?  Using 5.0, I made up a self-extracting archive file (arj
  1471. in this case, due to path storage and creation capability) containing (as a
  1472. minimum) 4dos.com and 4dos.ini (and 4start/4exit.btm, if you use those) --
  1473. having enough available memory, you may wish to include the help files as
  1474. well, if you go this route.
  1475.  
  1476. Having created a RAM drive in config.sys, I then added the following lines to
  1477. the system configuration:
  1478.  
  1479. install=d:\4dos40\4exec.exe -y
  1480. ...
  1481. SHELL=i:\4DOS.COM i:\ @i:\4dos.ini
  1482.  
  1483. Bingo: system boots from the RAM drive, and always looks there for 4dos.ini,
  1484. etc, which speeds things up a fair bit.
  1485.  
  1486. DOS bitches about some illegal statement or whatnot, but that is only because
  1487. the exec doesn't stay resident -- affects system operation not one iota.
  1488.  
  1489. --- GEcho 1.00/beta
  1490.  * Origin: if not (%@eval[2+2]) == (4) echo !@#@#$)& (1:140/86)
  1491.  
  1492. ------------------------------------------------------------------------
  1493.  
  1494. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  1495.  
  1496.  BBS: ESCMAIL         Conference: 4dos(ECHO)      Imported:  5/15/1992
  1497.   To: JEFFERY FOY                     Num: 329        Date:  5/13/1992
  1498. From: DEREK GLIDDEN                    Re:            Time:  5:12 pm
  1499. Subj: Using "/" instead of "\"       Prvt: N          Read: N
  1500.  
  1501. >> 'lo all.  I've become a bit spoiled by the Unix convention of using a
  1502. >> formward slash "/" to separate directory names (i.e.  cd /4dos/btm/fun). 
  1503. >> Can I do this with 4dos? Is there some patch to 4dos to make it work? I 
  1504. >> absolutely HATE using "\"... 
  1505.  
  1506. I've gone back and forth from UNIX to DOS to OS/2 locally and on other 
  1507. machines I work on, so I'm doing the same thing.  I've never had any 
  1508. problems getting 4DOS to recognize \==/ when changing directories.  I'm 
  1509. using 4.0 the 11-18-91 files. 
  1510.  
  1511. The only thing you may have to do is seperate the CD from the first slash 
  1512. with a space.  (Just like UNIX anyway, so you're probably used to it.) 
  1513.  
  1514. At least in my experience, under 4DOS, "CD \UTIL" == "CD /UTIL" 
  1515.  
  1516.  
  1517. --- DCI/Chauncy 0.5f
  1518.  * Origin: The Slut Club -- 813-689-1150 (1:377/42.0)
  1519. 
  1520. ------------------------------------------------------------------------
  1521.  
  1522. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  1523.  
  1524.  BBS: ASTRIX          Conference: 4DOS            Imported:  5/14/1992
  1525.   To: ALL                             Num: 12355      Date:  4/28/1992
  1526. From: DAVID CRONSHAW                   Re: 0          Time:  9:33 am
  1527. Subj: Saving/Renaming .QWK file      Prvt: N          Read: N
  1528.  
  1529. People reading this are, by definition, BBS users. Many will probably
  1530. use offline mail readers, as I do. In doing so, I found I wanted to save
  1531. my .QWK files, but since they're always downloaded with the same name,
  1532. for a given BBS, they must be renamed if they're not to overwrite
  1533. earlier versions. I decided to rename the files when saving by adding
  1534. two digits to the name. e.g. File DOWNEY.QWK would be saved as
  1535. DOWNEY31.QWK
  1536. if I'd already saved previous .QWK files from the DOWNEY BBS as
  1537. DOWNEY01.QWK through DOWNEY30.QWK.
  1538.  
  1539. So, I automated the renaming and saving using some of 4DOS's facilities.
  1540. Here's the .BAT file extract (I have it in the .BAT file which invokes
  1541. my COMM program (Boyan 5.0)).
  1542.  
  1543. Note: It isn't necessary for ALL the previously saved .QWK files to
  1544. exist in the save directory, the routine finds only the highest numbered
  1545. one. So you can delete, or archive, earlier ones, just leave the most
  1546. recently saved one in the save directory.
  1547.  
  1548. If it's useful to you, enjoy it! If not, toss it!
  1549.  
  1550. :chkmail
  1551. rem %RD% is environment var holding path to temp or RAM disk (e.g. E:\)
  1552. rem %HD% is environment var holding path to main disk (e.g. C:\).
  1553. rem Command separator char is '&' (may cause trouble in this comment)
  1554. rem .QWK files are downloaded into Boyan50\bbs\files directory
  1555. rem .QWK files are saved in %HD%boyan50\bbs\mail directory.
  1556. rem Check if any .QWK files downloaded
  1557. if not exist %RD%boyan50\bbs\files\*.qwk goto endjob
  1558. rem Initialize vars used (A1=1st digit, A2=2nd digit, FA= .QWK file name)
  1559. set A1=0
  1560. set A2=0
  1561. set FA=
  1562. for %A in (%RD%boyan50\bbs\files\*.qwk) set FA=%@NAME[%A]
  1563. rem Get value of 1st digit for most recent previously saved .QWK file
  1564. for %A in (9 8 7 6 5 4 3 2 1 0) do (
  1565.  if exist %HD%boyan50\bbs\mail\%[FA]%A?.qwk (set A1=%A & goto gota1))
  1566.  
  1567. :gota1
  1568. rem Get value of 2nd digit of most recentl previously saved .QWK file
  1569. for %A in (9 8 7 6 5 4 3 2 1 0) do (
  1570.  if exist %HD%boyan50\bbs\mail\%[FA]%[A1]%A.qwk (set A2=%A & goto gota2))
  1571.  
  1572. :gota2
  1573. rem Convert digits to numeric value and increment it.
  1574. set FN=%@EVAL[%[A1]%A2+1]
  1575. rem Cycle back to 1 if overflow
  1576. if %FN/==100/ set FN=1
  1577. rem Add leading '0' if value is single digit
  1578. if %FN/ LT 10/ set FN=`0`%FN
  1579. rem Save and rename new .QWK file
  1580. move %RD%boyan50\bbs\files\%FA%.qwk %HD%boyan50\bbs\mail\%[FA]%FN.qwk
  1581. rem Cycle back to check for more .QWK files
  1582. goto chkmail
  1583.  
  1584.  
  1585.  
  1586.  
  1587. PCRelay:DOWNEY -> #1435 RelayNet (tm)
  1588. 4.11              The Downey BBS, Downey CA  310-806-2226 v.32
  1589.                                                                                                                    
  1590. PCRelay:DCINFO -> #16 MetroLink (tm) International Network
  1591. 4.10              DC Info Exchange MetroLink International Hub
  1592.      
  1593.  
  1594. ------------------------------------------------------------------------
  1595.  
  1596. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  1597.  
  1598.  BBS: ASTRIX          Conference: 4DOS            Imported:  5/14/1992
  1599.   To: DAVID CRONSHAW                  Num: 12376      Date:  4/30/1992
  1600. From: JAY HANNA                        Re: 0          Time:  1:22 am
  1601. Subj: SAVING/RENAMING .QWK FILE      Prvt: N          Read: N
  1602.  
  1603. DC>People reading this are, by definition, BBS users. Many will probably
  1604. DC>use offline mail readers, as I do. In doing so, I found I wanted to save
  1605. DC>my .QWK files, but since they're always downloaded with the same name,
  1606.  
  1607. David I had the same problem, and although my solution isn't as elegant it
  1608. works like a charm.
  1609.  
  1610. zed=move c:\telix\mail\zed.qwk a:^if exist c:\telix\up\zed.rep copy
  1611. c:\telix\up\zed.rep a:^ren a:zed.* %_date.*
  1612.  
  1613. Now I have saved mail packets with new names 04-29-92.qwk and 04-29-92.rep
  1614.  
  1615.  
  1616.  
  1617. ⌡Æy
  1618. ---
  1619.  ■ SLMR 2.1 ■ Always practice safe hex!
  1620.  
  1621. PCRelay:ZED -> #200 RelayNet (tm)
  1622.                                             
  1623.  
  1624. ------------------------------------------------------------------------
  1625.  
  1626. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  1627.  
  1628.  BBS: ASTRIX          Conference: 4DOS            Imported:  5/14/1992
  1629.   To: DAVID CRONSHAW                  Num: 12395      Date:  5/01/1992
  1630. From: KINLEY BRAUER                    Re: 0          Time:  7:37 am
  1631. Subj: SAVING/RENAMING .QWK FILE      Prvt: N          Read: N
  1632.  
  1633. DC>>People reading this are, by definition, BBS users. Many will probably
  1634. DC>>use offline mail readers, as I do. In doing so, I found I wanted to save
  1635. DC>>my .QWK files, but since they're always downloaded with the same name,
  1636. DC>>for a given BBS, they must be renamed if they're not to overwrite
  1637. DC>>earlier versions. I decided to rename the files when saving . . .
  1638.  
  1639. I do the same thing in a batch file, but I change mine to a date in
  1640. the filename and number (up to ten) in the ext (in case I ever call up
  1641. the same board twice in one day). My crucial lines are:
  1642.  
  1643. FOR %A IN (BOARDNAM.QWK) REN %A
  1644.  %#SUBSTR[%#NAME[%A],0,4]%#SUBSTR[%_DATE,0,2]%@SUBSTR[%_DATE,3,2].QWK
  1645. [above on one line]
  1646.  
  1647. IF EXIST *.QW9 REN *.QW9 *.QWA
  1648.  
  1649. FOR %A IN (8 7 6 5 4 3 2 1) IF EXIST *.QW%A% REN *.QW%A% *.QW%@EVAL[%A+1]
  1650. IF EXIST *.QWK REN *.QWK *.QW1
  1651.  
  1652. This will give a listing something like:
  1653.  
  1654. BOARD0430.QW2
  1655. BOARD0501.QW1
  1656.    Etc.
  1657. ---
  1658.  ■ OLX 2.2 ■ #3620 ■ Minneapolis, MN
  1659.  
  1660. PCRelay:BYTELINE -> #365 RelayNet (tm)
  1661.                                          
  1662.  
  1663. ------------------------------------------------------------------------
  1664.  
  1665. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  1666.  
  1667.  BBS: ASTRIX          Conference: 4DOS            Imported:  5/14/1992
  1668.   To: DAVID CRONSHAW                  Num: 12456      Date:  5/05/1992
  1669. From: STANLEY KOHN                     Re: 0          Time:  5:46 am
  1670. Subj: Saving/Renaming .QWK file      Prvt: N          Read: N
  1671.  
  1672. DC>... I found I wanted to save
  1673. DC>my .QWK files, but since they're always downloaded with the same name,
  1674. DC>for a given BBS, they must be renamed if they're not to overwrite
  1675. DC>earlier versions. I decided to rename the files when saving by adding
  1676. DC>two digits to the name. e.g. File DOWNEY.QWK would be saved as
  1677. DC>DOWNEY31.QWK
  1678.  
  1679. I also have written a 4DOS batch file to do the same thing.  It simply
  1680. numbers the QWK files in sequence.  It is not necessary to use a strict
  1681. two digit naming sequence.
  1682.  
  1683. REM Rename QMail downloads
  1684. :newqm 
  1685. REM Script to rename QWK packets in numbered sequence
  1686. REM Usage:   newqm <BBS name>
  1687.  
  1688. @echo off
  1689. setlocal
  1690.  
  1691. REM all QWK files are in directory c:\files
  1692. cd c:\files
  1693.  
  1694. REM Set BBS name
  1695. set bbs=%@name[%1]
  1696. set start=%@len[%bbs]
  1697. echo bbs = %bbs
  1698.  
  1699. REM Number will be the sequence number of new file
  1700. set number=0
  1701.  
  1702. REM Find Highest number used so far
  1703. for %%p in (%bbs*.qwk) do (
  1704.  set g=%@name[%p]
  1705.  iff %g != %bbs then
  1706.    set i=%@substr[%g, %start, 6]
  1707.    iff %i GT %number then
  1708.        set number=%i
  1709.    endiff
  1710.  endiff
  1711. )
  1712.  
  1713. REM add 1 to number
  1714. set number=%@eval[%number + 1]
  1715.  
  1716. REM Rename File
  1717. ren %bbs.qwk %bbs%%number%.qwk
  1718. endlocal
  1719.  
  1720.  
  1721.  
  1722. It is amazing how much the latest improvements to 4DOS are starting to
  1723. make the batch language look like a real language.
  1724. ---
  1725.  ■ DeLuxe² 1.21 #9319 ■  .
  1726.  ■ RNet 1.08G:MISSING
  1727.                                                                                
  1728. PCRelay:DCINFO -> #16 MetroLink (tm) International Network
  1729. 4.10              DC Info Exchange MetroLink International Hub
  1730.      
  1731.  
  1732. ------------------------------------------------------------------------
  1733.  
  1734. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  1735.  
  1736.  BBS: ESCMAIL         Conference: 4dos(ECHO)      Imported:  5/16/1992
  1737.   To: BILL HARTING                    Num: 343        Date:  5/12/1992
  1738. From: SIMON JOSEFSSON                  Re:            Time:  1:49 pm
  1739. Subj: Deleting Files                 Prvt: N          Read: N
  1740.  
  1741. * In a msg on 09 May (21:46), Bill Harting of 1:3603/150.88 writes:
  1742.  
  1743.  BH> Accually, that part of the code was from the original code posted by
  1744.  BH> Jussi Jaaskelainen, which I just updated.
  1745.  
  1746. Actually, i wrote the original code, but.. what the heck.. :-)
  1747.  
  1748.  BH>  Since it worked well, I
  1749.  BH> didn't touch it.  Unfortunately, the code I DID touch was note the
  1750.  BH> code I posted... It was one fix behind, and wouldn't remove files from
  1751.  BH> the first directory name specified (Boy, do *I* feel smart :) ).
  1752.  BH> Here's the proper code, with your suggestion.
  1753.  
  1754. I did come up with a smarter way of checking for param's, and my code is as
  1755. follows..:
  1756.  
  1757. _ _ _ O / _ _ C_U_T_ H_E_R_E_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  1758.       O \ 
  1759.  
  1760. @echo off
  1761. ::
  1762. ::   last updated: 05/12/92 sj
  1763. ::   DELDIR - DeleteDIR, deletes and removes a path, with logging functions
  1764. ::
  1765.  
  1766. if not %pth! eq ! unset pth
  1767. if not %_log! eq ! unset _log
  1768. iff %1! eq ! then
  1769.   echo Usage : DELDIR [/M] [d:]path
  1770.   quit
  1771. endiff
  1772.  
  1773. :chk4param
  1774. if %1! eq ! goto nomoreparams
  1775. iff %@SUBSTR[%1,0,1]! eq /! then
  1776.   iff %@UPPER[%@SUBSTR[%1,1,1]]! eq M! then
  1777.     set _log=dummy
  1778.     goto rightparam
  1779.   endiff
  1780.  
  1781.   echo Invalid Parameter "%@LOWER[%1]"
  1782.   echo Usage : DDIR [/M] [d:]path
  1783.   quit
  1784.   :rightparam
  1785.   shift
  1786.   goto chk4param
  1787. else
  1788.   iff not exist %1\nul then
  1789.     echo Invalid path "%@FULL[%1]"
  1790.     echo     0 directory(s) zapped
  1791.     quit
  1792.   endiff
  1793.  
  1794.   iff not %pth! eq ! then
  1795.     echo Sorry, multiple paths not yet supported. Working on it /sj
  1796.   endiff
  1797.   if %pth! eq ! set pth=%1
  1798.   shift
  1799.   goto chk4param
  1800. endiff
  1801. :nomoreparams
  1802.  
  1803. echo:
  1804. echo The following directories, and all the files in them, will be removed:
  1805. echo:
  1806.  
  1807. echo %@UPPER[%@FULL[%pth]]
  1808. del %RAMD%\temp.$$$ /q >& nul
  1809. pushd %pth
  1810. dir /a:d /s /b /f >> %RAMD%\temp.$$$
  1811. popd
  1812. set linenum=%@LINES[%RAMD%\temp.$$$]
  1813. set counter=0
  1814. if %linenum EQ -1 goto stop_it
  1815. :again
  1816. if %linenum GE %counter echo %@UPPER[%@LINE[%RAMD%\temp.$$$,%counter]]
  1817. if %linenum EQ %counter goto stop_it
  1818. set counter=%@EVAL[%counter+1]
  1819. goto again
  1820. :stop_it
  1821. echo:
  1822. inkey /K"YyNn" Are you sure you want to proceed? (Y/N)  %%yesno
  1823. iff %@UPPER[%yesno]! eq N! then
  1824.   echo:
  1825.   echo *** DELDIR Aborted ***
  1826.   quit
  1827. endiff
  1828. set counter=%linenum
  1829. echo:
  1830. if %linenum EQ -1 goto 2stop_it
  1831. :2again
  1832. if %linenum GE %counter echo Removing and deleting files in
  1833. -------continued---------%@UPPER[%@LINE[%RAMD%\temp.$$$,%counter]]
  1834. if exist %@LINE[%RAMD%\temp.$$$,%counter]\*.* del
  1835. -------continued---------%@LINE[%RAMD%\temp.$$$,%counter] /q /y /x /z
  1836. if not exist %@LINE[%RAMD%\temp.$$$,%counter]\*.* rd
  1837. -------continued---------%@LINE[%RAMD%\temp.$$$,%counter] >& nul
  1838. if not %_log! eq ! log DDIR - Removed
  1839. -------continued---------%@UPPER[%@LINE[%RAMD%\temp.$$$,%counter]]\*.*
  1840. if %counter EQ 0 goto 2stop_it
  1841. set counter=%@EVAL[%counter-1]
  1842. goto 2again
  1843. :2stop_it
  1844. echo Removing and deleting files in %@UPPER[%@FULL[%pth]]
  1845. if exist %@FULL[%pth]\*.* del %@FULL[%pth] /q /y /x /z
  1846. if not %_log! eq ! log DDIR - Removed %@UPPER[%@FULL[%pth]]\*.*
  1847. if not exist %@FULL[%pth] rd %@FULL[%pth] >& nul
  1848. del %RAMD%\temp.$$$ /q
  1849. if not %pth! eq ! unset pth
  1850. if not %_log! eq ! unset _log
  1851.  
  1852. _ _ _ O / _ _ C_U_T_ H_E_R_E_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  1853.       O \ 
  1854.  
  1855. Any suggestions welcome.. working on multiple path's on command line..
  1856.  
  1857. Note: The batchfile uses a environmentvariable called RAMD, make sure it
  1858. points to you RAM-disk. If you don't have a RAM-disk, make sure you don't
  1859. have a RAMD-environmentvariable.. (DDIR.BTM will then place the temp-file in
  1860. the root-directory of the current drive..).
  1861.  
  1862. // JaS
  1863.  
  1864. --- msgedsq 2.0.5
  1865.  * Origin: Simon Josefsson - Sweden, Stockholm. (2:201/111.34)
  1866.  
  1867. ------------------------------------------------------------------------
  1868.  
  1869. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  1870.  
  1871.  BBS: ESCMAIL         Conference: 4dos(ECHO)      Imported:  5/17/1992
  1872.   To: THE AUTHOR                      Num: 378        Date:  5/14/1992
  1873. From: GK                               Re:            Time:  8:35 pm
  1874. Subj: ND.BTM: modified just a l      Prvt: N          Read: N
  1875.  
  1876. I enjoyed the batch files you posted very much :-). Well, they didn't quite
  1877. work, so I had to tweak them a little, and got a bit carried away with the
  1878. tweaks...
  1879.  
  1880. - inclusion of the NDP variable, set at the top of each file,
  1881.   though you could always set it in 4START or AUTOEXEC. This
  1882.   =must= have a trailing backslash, and specifies where to
  1883.   put the ND support files.
  1884.  
  1885. - file descriptions for the support files.
  1886.  
  1887. - testing for things before deleting them, and using some of
  1888.   4DOS' switches for DEL.
  1889.  
  1890. - deleting a few things before piping to them, just in case
  1891.   someone has noclobber turned on.
  1892.  
  1893. - removing the text/endtext pairs, which didn't seem to add
  1894.   much to the functionality of ND.
  1895.  
  1896. - adding trailing % signs on environment variables, without
  1897.   which ND failed.
  1898.  
  1899. - added the test for **eof** (which seemed necessary).
  1900.  
  1901. - added the test for disappearing directories, and asking the
  1902.   user if they wanted to rescan.
  1903.  
  1904. - removed a few excess backslashes you had lying around the place.
  1905.  
  1906. - pulled NDR.BTM into ND.BTM and added the /r switch.
  1907.  
  1908. - rewired it using some more handy 4DOS things, like IFF.
  1909.  
  1910. Many thanks for posting the original batch files!
  1911.  
  1912.  
  1913. gk
  1914.  
  1915. === [posting of modified version of ND] ===
  1916.  
  1917. @echo off
  1918. set ndp=c:\
  1919.  
  1920. iff "%1"=="/r" then
  1921.   gosub RESCAN
  1922.   shift
  1923.   if "%1"=="" goto END
  1924. endiff
  1925.  
  1926. iff "%1"=="" then
  1927.  
  1928.   iff "%ndn%"=="" then
  1929.     echo usage: ND [/r] [directoryname]
  1930.     goto END
  1931.   endiff
  1932.  
  1933.   set nd=%@line[%ndp%nd.dr1,%ndn%]
  1934.   iff "%nd%"=="" .or. "%nd%"=="**eof**" then
  1935.     set ndn=0
  1936.     echo No more directories. ND again to re-cycle.
  1937.     goto END
  1938.   endiff
  1939.  
  1940.   if not isdir %nd% goto NODIR
  1941.   set ndn=%@eval[%ndn%+1]
  1942.  
  1943. else
  1944.  
  1945.   if exist %ndp%nd.dr1 del /q /z %ndp%nd.dr1
  1946.   c:\dos\find "%@upper[%1]" < %ndp%nd.dir > %ndp%nd.dr1
  1947.   describe %ndp%nd.dr1 "nd.btm support file"
  1948.   type %ndp%nd.dr1|input %%nd
  1949.  
  1950.   iff "%nd%"=="" then
  1951.     echo Can't find "%@upper[%1]".
  1952.     goto END
  1953.   endiff
  1954.  
  1955.   if not isdir %nd% goto NODIR
  1956.   set ndn=1
  1957. endiff
  1958.  
  1959. cdd %nd%
  1960. unset nd
  1961. goto END
  1962.  
  1963. :RESCAN
  1964. pushd
  1965. if exist %ndp%nd.dir del /q /z %ndp%nd.dir
  1966. for %a in (C F P Q) (
  1967.   echo.
  1968.   echo Scanning %a:
  1969.   *cdd %a:\
  1970.   global /iq (echo %@upper[%_cwd] >>!%ndp%nd.dir^echos *)
  1971. )
  1972. describe %ndp%nd.dir "nd.btm directory tree storage"
  1973. popd
  1974. return
  1975.  
  1976. :NODIR
  1977. echo Directory %nd% has vanished.
  1978. input `Rescan drives?` %%nd
  1979. iff not "%nd%"=="" .and. "%@substr[%@lower[%nd%],0,1]"=="y" then
  1980.   gosub RESCAN
  1981. endiff
  1982. unset nd
  1983. goto END
  1984.  
  1985. :END
  1986.  
  1987. ---
  1988.  * Origin: deadly bloody serious v1.3 (3:680/828)
  1989.  
  1990. ------------------------------------------------------------------------
  1991.  
  1992. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  1993.  
  1994.  BBS: ASTRIX          Conference: 4DOS            Imported:  5/18/1992
  1995.   To: JOHN DURSO                      Num: 12415      Date:  5/03/1992
  1996. From: TOM RAWSON                       Re: 0          Time:  1:24 pm
  1997. Subj: 4DOS SCREEN EFFECTS            Prvt: N          Read: N
  1998.  
  1999. JD>In 4DOS, is there a way to change the effects of text displayed on
  2000. JD>a mono screen while running a batch program?  I see you can change
  2001. JD>the  colors for a color monitor, but how can you reverse the text
  2002. JD>or make it blink or make it bold on a Mono monitor?
  2003.  
  2004. All the following should work as 4DOS color specs (COLOR, CLS, COLORDIR,
  2005. SCRPUT, etc.) on a mono system:
  2006.  
  2007.       white on black
  2008.       bright white on black
  2009.       blink white on black
  2010.       bright blink white on black
  2011.       black on white
  2012.       blink black on white
  2013.  
  2014. I don't think "bright black" will do much for you <g> so I left it out,
  2015. but all the above should work.
  2016.  
  2017.                                                       ... Tom
  2018.  
  2019.  
  2020. PCRelay:CHANNEL -> #15 RelayNet (tm)
  2021.                                  
  2022.  
  2023. ------------------------------------------------------------------------
  2024.  
  2025. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  2026.  
  2027.  BBS: ESCMAIL         Conference: 4dos(ECHO)      Imported:  5/19/1992
  2028.   To: BILL HARTING                    Num: 420        Date:  5/13/1992
  2029. From: JUSSI JAASKELAINEN               Re:            Time:  9:19 pm
  2030. Subj: Deleting Files                 Prvt: N          Read: N
  2031.  
  2032. ...
  2033.  > Accually, that part of the code was from the original
  2034.  > code posted by
  2035.  > Jussi Jaaskelainen, which I just updated.  Since it
  2036.  > worked well, I
  2037.  > didn't touch it.  Unfortunately, the code I DID touch
  2038.  > was note the
  2039. ...
  2040.  
  2041. Hey... Hold on second... I know that I (and everybody in Finland) had miss
  2042. some 4DOS messages past last weeks (by reason that I don't know) but my
  2043. message:
  2044.  
  2045. Mon 4 May 92 16.43
  2046. By: Jussi Jaaskelainen
  2047. To: Simon Josefsson
  2048. Re: Deleting Files
  2049. ------------------------------------------------------------
  2050. ...
  2051.  
  2052. Why do every thing so hard way... Next alias do every same...
  2053. Alias ZAP `del %&\. /sx /z`
  2054. Alias dels all files (including Hidden, read-only, system) and all
  2055. sub-dirs...
  2056. ...
  2057.  
  2058. in short was that... So I don't post any code only one internal command....
  2059. :)
  2060. So I'm little confuse what hell code you mean... Please resent message or
  2061. explain... :)
  2062.  
  2063. SM FAdpC
  2064.  
  2065. ---
  2066.  * Origin: SM Home Point.... Point of Salpu Ra. (2:221/105.5)
  2067.  
  2068. ------------------------------------------------------------------------
  2069.  
  2070. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  2071.  
  2072.  BBS: ASTRIX          Conference: 4DOS            Imported:  5/21/1992
  2073.   To: DON GARRETT                     Num: 12737      Date:  5/19/1992
  2074. From: KINLEY BRAUER                    Re: 0          Time:  8:59 am
  2075. Subj: 4DOS BTM BACKUP                Prvt: N          Read: N
  2076.  
  2077. Here is my backup batch file. It presently relies on several small
  2078. shareware files: UNBACKED.COM, XTGOLD 2.5, TM.COM (from the old Norton
  2079. Utilities 4.5), PKZIP, MARK/RELEASE, STACKEY, and Patriquin's PATTR
  2080. attribute program and backs up to drive B. I'm sure you will see how
  2081. you can substitute 4DOS commands for the UNBACKED, TM, and attribute
  2082. programs. KEYSTACK does not seem to work as well as STACKEY. (The
  2083. program is old, but it works. I used some other program as a model,
  2084. and I've named the file MONBAK.BTM.) And I'm always looking for
  2085. ways to improve speed and efficiency.
  2086.  
  2087. -----------------------cut here-----------------------------------
  2088. :START
  2089. set select=B
  2090. cls bri white on blue
  2091. screen 2 0
  2092. drawbox 3 11 18 65 0 black on black fill black
  2093. drawbox 2 9 17 63 2 cyan on RED fill RED
  2094. drawhline 5 9 55 2 cyan on red
  2095. drawhline 7 9 55 2 cyan on red
  2096. drawhline 15 9 55 2 cyan on red
  2097. scrput 3 29 bri white ON red [MY NAME HERE]
  2098. scrput 4 29 bri white ON red MONTHLY BACKUP
  2099.  
  2100. scrput 6 21 bri whi on red     Version 1.2 (7 February 1991)
  2101.  
  2102. scrput 9 13 bri yel on red  1. Backup unbacked files for month on B:
  2103. scrput 10 13 bri yel on red 2. Read list of backed-up files on B:
  2104. scrput 11 13 bri yel on red 3. Restore files from B: to C: in the
  2105. scrput 12 16 bri yel on red    proper directory
  2106.  
  2107. scrput 14 12 bri cya on red LAST BACKUP:
  2108. screen 14 25
  2109. color bri whi on magenta
  2110. rem Echo time and date in file: \batch\monbak.log; see below
  2111. type c:\batch\monbak.log
  2112. color bri whi on blue
  2113.  
  2114. scrput 16 23 bri yel on red           Hit "X" to return to DOS
  2115.  
  2116. screen 20 2
  2117. scrput 20 17 bri whi on blu CHOOSE ONE OF THE ABOVE BY NUMBER:
  2118. screen 20 52
  2119. INPUT %%FNUM
  2120. CLS
  2121. IF "%FNUM"=="X" GOTO END
  2122. if "%FNUM"=="x" GOTO END
  2123. IF "%FNUM"=="1" GOTO BACKUP
  2124. IF "%FNUM"=="2" GOTO LOOKUP
  2125. IF "%FNUM"=="3" GOTO RESTORE
  2126. :BACKUP
  2127. @ECHO OFF
  2128. CLS
  2129. CD \
  2130. rem Send unbacked files to FILELIST for editing
  2131. UNBACKED>FILELIST
  2132. rem Edit with dos editor (I use QEDIT, which I've renamed EDIT)
  2133. EDIT FILELIST
  2134. rem Zip edited FILELIST files with paths into backup file
  2135. PKZIP -BC: -PU B:MAYBAK @FILELIST
  2136. DEL FILELIST.* >NUL
  2137. rem Create log file with time and date of backup
  2138. CALL TM /L >\BATCH\MONBAK.LOG
  2139. rem Mark all files as backed up
  2140. PATTR *.* /S/AN >NUL
  2141. CLS
  2142. GOTO START
  2143. :LOOKUP
  2144. CLS
  2145. rem Go into zipped file on B: to see what is there
  2146. STACKEY @S "O" "D" CR A5 >NUL
  2147. C:\XTGOLD\XTGOLD B:
  2148. ECHO.
  2149. PAUSE
  2150. RELEASE /K /Q
  2151. CD C:\
  2152. GOTO START
  2153. :RESTORE
  2154. CLS
  2155. CD \
  2156. PKUNZIP -N -D B:MAYBAK C:
  2157. CLS
  2158. GOTO START
  2159. :END
  2160. CLS
  2161. CD \
  2162. -------------------------------end---------------------------------
  2163.  
  2164. (At the end of the month, I'll global change MAYBAK to JUNBAK.)
  2165. The screen should like like this, in glorious color:
  2166.  
  2167.  
  2168.          ╔═════════════════════════════════════════════════════╗
  2169.          ║                   [MY NAME HERE]                    ║██
  2170.          ║                   MONTHLY BACKUP                    ║ █
  2171.          ╠═════════════════════════════════════════════════════╣ █
  2172.          ║           Version 1.2 (7 February 1991)             ║ █
  2173.          ╠═════════════════════════════════════════════════════╣ █
  2174.          ║                                                     ║ █
  2175.          ║   1. Backup unbacked files for month on B:          ║ █
  2176. <<MESSAGE TOO LONG -- SOME LINES WERE DELETED>>
  2177.                                                                                                                           
  2178. PCRelay:DCINFO -> #16 MetroLink International Network
  2179. 4.10              DC Info Exchange MetroLink International Hub
  2180.           
  2181.  
  2182. ------------------------------------------------------------------------
  2183.  
  2184. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  2185.  
  2186.  BBS: ASTRIX          Conference: 4DOS            Imported:  5/21/1992
  2187.   To: LARRY ALPERT                    Num: 12662      Date:  5/17/1992
  2188. From: DAVID KUNZ                       Re: 0          Time:  2:26 pm
  2189. Subj: 4DOS DEMO                      Prvt: N          Read: N
  2190.  
  2191. My most useful utilities use SELECT and EXCEPT.  I would show an
  2192. example of "select copy (a:*.*)" or "select del (*.*)".
  2193.  
  2194. One of the first things that I found that I couldn't live without was
  2195. command line recall, edit and history.  I would definitely show these
  2196. features -- especially completing the file name.
  2197.  
  2198. You could also show some aliases.  If they do a lot of zipping or
  2199. arjing you could show them the following:
  2200.  
  2201. SELARJ=iff "%1"=="" then echo Usage: DOARJ ARJNAME^else
  2202.     if exist $temp$$$.tmp del $temp$$$.tmp^iff "%2"=="" then
  2203.     select dir/f/b (*.*) >>$temp$$$.tmp^else select dir/f/b (%2)
  2204.     >>$temp$$$.tmp^endiff^arj m -e %1 !$temp$$$.tmp^ del
  2205.     $temp$$$.tmp^endiff
  2206.  
  2207. SELZIP=iff "%1"=="" then echo Usage: DOZIP ZIPNAME^else
  2208.     if exist $temp$$$.tmp del $temp$$$.tmp^iff "%2"=="" then
  2209.     select dir/f/b (*.*) >>$temp$$$.tmp^else select dir/f/b (%2)
  2210.     >>$temp$$$.tmp^endiff^pkzip -am %1 <at>$temp$$$.tmp^ del
  2211.     $temp$$$.tmp^endiff
  2212.  
  2213. (where <at> is the "at" character (<shift-2>)).
  2214.  
  2215. or, to run a program from a menu,
  2216.  
  2217. RUNP=SELECT (*.COM;*.EXE;*.BAT;*.BTM)
  2218.  
  2219. Hope that this helps!
  2220. David Kunz
  2221. ---
  2222.  ■ MegaMail : He who laughs last probably made a backup.
  2223.  
  2224. PCRelay:WTHREEJP -> #75 RelayNet (tm)
  2225.                                                                        
  2226.  
  2227. ------------------------------------------------------------------------
  2228.  
  2229. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  2230.  
  2231.  BBS: ASTRIX          Conference: 4DOS            Imported:  5/21/1992
  2232.   To: LARRY ALPERT                    Num: 12681      Date:  5/18/1992
  2233. From: DAVE LEMIRE                      Re: 0          Time:  8:04 am
  2234. Subj: 4dos demo             1/2      Prvt: N          Read: N
  2235.  
  2236. LA>      OK all of you 4dos gurus out there, let me run this one buy you.
  2237.   >      Now, at a local users group that I belong to, I am to give a
  2238.   > demonstration on some of the features of 4dos (none of the members are
  2239.   > using 4dos, although a few are using ndos, and even they do not believe
  2240.   > it is actualy 4dos).
  2241.  
  2242. Larry,
  2243.  
  2244. [this is long and will probably get split -- hope you get both parts!]
  2245.  
  2246.     The .BTM file below, combined with 4UNZIP, allows the user to
  2247. select a text file from a ZIP file for either viewing or, with the
  2248. /X parameter, for extraction.  It uses the @_at_SELECT function,
  2249. and only requires the user to maintain a text file for input to
  2250. the menu as a separate configuration item.  That file's got to be
  2251. updated when you add to the ZIP:
  2252.  
  2253.  
  2254. @echo off
  2255. if %1 == /h goto USAGE
  2256. pushd c:\rfcs
  2257. if "%1"=="/x" goto EXTRACT
  2258. iff NOT "%1" == "/x" then
  2259.    set VVV=%@select[c:\rfcs\rfc_list, 2, 10, 20, 65, View which RFC?]
  2260.    if "%vvv!" == "!" goto SKIP
  2261.    call smode 43
  2262.    color bright yellow on cyan border cyan
  2263.    pku -c c:\rfcs\rfc_text.zip %@substr[ %vvv, 60, 15] | vbl /s
  2264.    smode normal
  2265.    color bright cyan on black border black
  2266.    unset vvv
  2267. endiff
  2268. :EXTRACT
  2269. iff "%1" == "/x" then
  2270.    4u c:\rfcs\rfc_text.zip
  2271. endiff
  2272. :SKIP
  2273. popd ^ quit
  2274. :USAGE
  2275. text
  2276.  
  2277. RFC.BTM - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  2278. This batch file pops up a menu of available RFC files, and extracts the
  2279. selected file for viewing, unless the /X option is selected.  If the option
  2280. is present, then the file and its description are extracted from the archive.
  2281. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  2282. endtext
  2283.  
  2284.  
  2285. The next batch file is my games menu from my home system, and is a
  2286. good example of creating a nice screen display under 4DOS.
  2287.  
  2288. REM -- GAMES.BTM:  a  program selection menuing system
  2289. REM -- the subdirectory tree for this batch file looks as follows:
  2290.  
  2291. :   729,573     26  ├───games
  2292. :   277,472     22  │   ├───blockout
  2293. :   142,438      4  │   ├───infocom
  2294. :   306,379      1  │   ├───larry
  2295. : 1,048,134     79  │   ├───rails
  2296. :   198,997     15  │   ├───tetris
  2297. :   165,198      3  │   ├───trek
  2298. :   550,379     22  │   ├───golf
  2299. :   281,629     66  │   ├───jeoprdy1
  2300. :   307,781     66  │   └───jeoprdy2
  2301.  
  2302. REM  two programs referenced here:  mypallet is an alias that calls
  2303. REM  KC-SETPAL to selecte the EGA color pallet.  This is helpful for cleaning
  2304. REM  up after graphics games that muck with the pallet.  PC Mag's PRISM utility
  2305. REM  would be a good substitute for VGA.  BURNOUT controls the screen
  2306. REM  blanker.  BURNOUT 0 turns it off, BURNOUT 5000 sets the timeout to
  2307. REM  about 5 minutes.  I turn it off for mouse-only games to ensure that
  2308. REM  the screen doesn't blank in the middle of the game!
  2309.  
  2310. REM  begin by going to the GAMES subdir, and making sure the mouse is loaded
  2311. @echo off ^ pushd c:\games ^ mark ^ mouse ^ cls ^ goto MENU
  2312.  
  2313.  
  2314. REM at exit, clear out the mouse
  2315. :EXIT
  2316. release ^ call mypallet
  2317. set game= ^ set again= ^ popd ^ 25 ^ burnout 5000 > nul: ^ cancel
  2318.  
  2319. :GOLF
  2320. burnout 0 >nul: ^ cd golf ^ golf2 ^ burnout 5000 >nul: ^ cd .. ^ goto MENU
  2321.  
  2322.  
  2323. REM  this block is set up to allow re-invoking a one-play-at-a-time
  2324. REM  game without returning to the full games menu
  2325. :TREK
  2326. cd trek ^ set again=
  2327. :PLAYTREK
  2328. trek ^ mypallet ^ color bri cyan on black
  2329. screen 6 6 ^ Inkey Do you wish to play again?  %%again
  2330. if %again==y GOTO PLAYTREK ^ set again= ^ cd .. ^ goto MENU
  2331.  
  2332. :TETRIS
  2333. cd tetris ^ keystack "n" 13 ^ etetris ^ cd .. ^ goto MENU
  2334.  
  2335. <<MESSAGE TOO LONG -- SOME LINES WERE DELETED>>
  2336.                                                    
  2337. PCRelay:DCINFO -> #16 MetroLink International Network
  2338. 4.10              DC Info Exchange MetroLink International Hub
  2339.           
  2340.  
  2341. ------------------------------------------------------------------------
  2342.  
  2343. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  2344.  
  2345.  BBS: ASTRIX          Conference: 4DOS            Imported:  5/21/1992
  2346.   To: LARRY ALPERT                    Num: 12682      Date:  5/18/1992
  2347. From: DAVE LEMIRE                      Re: 0          Time:  8:04 am
  2348. Subj: 4dos demo             2/2      Prvt: N          Read: N
  2349.  
  2350. >>> Continued from previous message
  2351. REM  this FOR loop prevents redisplay of the menu (which takes a little time)
  2352. REM  if the input key wasn't valid.  The same result can probably be achieved
  2353. REM  with the INKEY /K optional parameter, I've just not tried that yet.
  2354. REM  if the input key was a valid parameter, redisplay the menu, otherwise
  2355. REM  just get another key.
  2356. for %check in (@59 @60 @61 @62 @63 @64 @65 @66 @67 @68 @84 @85 @86) if %check==%
  2357. goto GET_GAME
  2358.  
  2359.  
  2360. REM  this subroutine displays the menu screen.  the DRAWBOX, DRAWHLINE,
  2361. REM  DRAWVLINE and SCRPUT commands are used
  2362. :MENU_DISPLAY
  2363. cls
  2364. drawbox 1 1 23 78 2 bri bla on black fil black
  2365. for %%a in (3 5 7 9 11 13 15 17 19 21 ) drawhline %%a  1 78 1 bri bla on black
  2366. drawvline 1 39 21 1 bri bla on black
  2367. scrput 0 24 bright yellow on red * * * *   GAMES MENU   * * * *
  2368. scrput 2 5 red on cyan  F1 
  2369. scrput 2 9 bri cyan on black  -- Railroad Tycoon
  2370. scrput 2 43 red on cyan  F2 
  2371. scrput 2 47 bri cyan on black  -- EGA Backgammon
  2372. scrput 4 5 red on cyan  F3 
  2373. scrput 4 9 bri cyan on black  -- Blockout
  2374. scrput 4 43 red on cyan  F4 
  2375. scrput 4 47 bri cyan on black  -- EGA Solitaire
  2376. scrput 6 5 red on cyan  F5 
  2377. scrput 6 9 bri cyan on black  -- Gravity Wars
  2378. scrput 6 43 red on cyan  F6 
  2379. scrput 6 47 bri cyan on black  -- PGA Tour Golf
  2380. scrput 8 5 red on cyan  F7 
  2381. scrput 8 9 bri cyan on black  -- Jeopardy, 1st Ed.
  2382. scrput 8 43 red on cyan  F8 
  2383. scrput 8 47 bri cyan on black  -- Jeopardy, 2nd Ed.
  2384. scrput 10 5 red on cyan  F9 
  2385. scrput 10 9 bri cyan on black  -- Tetris
  2386. scrput 10 43 red on cyan  F10 
  2387. scrput 10 48 bri cyan on black  - EGA Star Trek
  2388. scrput 12 5 red on cyan  sF1 
  2389. scrput 12 10 bri cyan on black  - Mastermind
  2390. scrput 12 43 red on cyan  sF2 
  2391. scrput 12 48 bri cyan on black  -
  2392. scrput 14 5 red on cyan  sF3 
  2393. scrput 14 10 bri cyan on black  -
  2394. scrput 14 43 red on cyan  sF4 
  2395. scrput 14 48 bri cyan on black  -
  2396. scrput 16 5 red on cyan  sF5 
  2397. scrput 16 10 bri cyan on black  -
  2398. scrput 16 43 red on cyan  sF6 
  2399. scrput 16 48 bri cyan on black  -
  2400. scrput 18 5 red on cyan  sF7 
  2401. scrput 18 10 bri cyan on black  -
  2402. scrput 18 43 red on cyan  sF8 
  2403. scrput 18 48 bri cyan on black  -
  2404. RETURN
  2405. ---
  2406.  ■ OLX 2.2 ■ Live to excess, moderation is for monks
  2407.  ■ KMail 2.92e NETWORK East
  2408.  
  2409. PCRelay:NETEAST -> #132 RelayNet (tm)
  2410.                                                            
  2411.  
  2412. ------------------------------------------------------------------------
  2413.  
  2414. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  2415.  
  2416.  BBS: ASTRIX          Conference: 4DOS            Imported:  5/21/1992
  2417.   To: BRAD OWEN                       Num: 12571      Date:  5/12/1992
  2418. From: DENNIS MCCUNNEY                  Re: 0          Time: 10:13 pm
  2419. Subj: BTM QUESTION                   Prvt: N          Read: N
  2420.  
  2421. BO>     Question for any 4DOS batch file gurus. I am trying to get a file
  2422. BO> containing the output from a "dir" command. The "dir" command I am using
  2423. BO> is:
  2424. BO> dir /b /f /s > dir.dat
  2425. BO>     First I go to the root of the current drive so I get a list of all the
  2426. BO> directories. I then use this in a %@select command to create a scrollable
  2427. BO> pick-list. The question is this. I want to create the dir.dat file so that
  2428. BO> it will begin with "A:" and "B:", and then do a "dir" command of ALL the
  2429. BO> available drives. For example, the list should look something like this:
  2430.  
  2431.     What you have is almost right.  You need to add one more parameter
  2432. to dir: "/ad". The /a parm matches a particular file attribute, so "/ad"
  2433. looks specifically for directories.  On my machine, the above run from \
  2434. produces (truncated for space reasons) :
  2435.  
  2436. c:\BIN
  2437. c:\DEV
  2438. c:\DGN
  2439. c:\ETC
  2440. c:\LIB
  2441. c:\MNT
  2442. c:\SPOOL
  2443. c:\TMP
  2444. c:\USR
  2445. c:\SPOOL\MAIL
  2446. c:\SPOOL\MQUEUE
  2447. c:\SPOOL\RQUEUE
  2448. c:\USR\ADM
  2449. c:\USR\BATCH
  2450. c:\USR\BIN
  2451. c:\USR\BOXER
  2452.     .
  2453.     .
  2454.     .
  2455. etc.
  2456.  
  2457.     To expand it to all drives on your system, try it as:
  2458.  
  2459.     for %%drive in (a: b: c: d: e: f: g:) do dir /b /f /s /ad >> dir.dat
  2460.  
  2461. placing whatever drives letters are appropriate as the target of the for
  2462. loop.
  2463.  
  2464.  
  2465.     You might wish to look into Keith Ledbetter's "Led's change
  2466. Directory" utility, which performs a similar function.  Run LCD with the
  2467. /scan parameter, and it buids a database of all directories on all
  2468. drives in your system in the root directory of your boot drive.  Type
  2469. LCD alone and it returns the current drive\directory, ala COMMAND.COM.
  2470. Give it a wildcard, like "*", and it produces a scrollable pick-list,
  2471. like this:
  2472.  
  2473. ╒═[■]═════════════════════════════════╡ Led's Change Directory v4.0b ╞╤═╕
  2474. │  c:\                                                                │ │
  2475. │  c:\bin                                                             │█│
  2476. │  c:\dev                                                             │░│
  2477. │  c:\dgn                                                             │░│
  2478. │  c:\etc                                                             │░│
  2479. │  c:\lib                                                             │░│
  2480. │  c:\mnt                                                             │░│
  2481. │  c:\spool                                                           │░│
  2482. │  c:\spool\mail                                                      │░│
  2483. ├─────────────────────────────────────────────────────────────────────┴─┤
  2484. │   Speed search:           ■  Arrow keys to move  ■  Enter to accept   │
  2485. ├───────────────────────────────────────────────────────────────────────┤
  2486.  
  2487.     Move to a directory on the list, press enter, and LCD will change to
  2488. that directory.  LCD is mouse aware, takes partial wild-cards, does
  2489. speed-searches, and more.
  2490.  
  2491.     I have LCD aliased as follows:
  2492.  
  2493. CD=lcd
  2494. LCD=pd^iff "%1" eq "" then^*lcd ^elif "%@substr[%1,3,-4]" eq "scan" then^
  2495.     *lcd %1^else^*lcd %& /m^end
  2496.  
  2497.     The current version of LCD is LCD40B.ZIP.
  2498.  
  2499.  
  2500. PCRelay:RUNNINGB -> #3 RelayNet (tm)
  2501. 4.11                Running Board 2126541349/DS/2125191791/HST/
  2502.                                                                                                               
  2503. PCRelay:DCINFO -> #16 MetroLink International Network
  2504. 4.10              DC Info Exchange MetroLink International Hub
  2505.           
  2506.  
  2507. ------------------------------------------------------------------------
  2508.  
  2509. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  2510.  
  2511.  BBS: ASTRIX          Conference: 4DOS            Imported:  5/21/1992
  2512.   To: DENNIS MCCUNNEY                 Num: 12527      Date:  5/08/1992
  2513. From: KINLEY BRAUER                    Re: 0          Time:  6:41 am
  2514. Subj: CAN 4DOS DO IT?                Prvt: N          Read: N
  2515.  
  2516. DM>>KB> OK, then how about using a dir to create a filelist of only new files
  2517. DM>>KB> across all subdirectories to then be PKZIPed. And if in the process I
  2518. DM>>KB> could exclude some files, even better.
  2519.  
  2520. DM>>    Something like this might do it (untested, but will give you the
  2521. DM>>idea):
  2522. DM>>     echo off
  2523. DM>>    pushd \
  2524. DM>>    global for %%file in (*.*) do (
  2525. DM>>        except (%1) if "% filedate[%file]=="%_date" echo % name[%file]
  2526. DM>>            >>%temp\ziplist
  2527. DM>>        )
  2528. DM>>    pkzip -a -ex newfiles  %temp\ziplist.txt
  2529. DM>>    popd
  2530.  
  2531. Looks good.  I'll work with it over the weekend--it might just do what
  2532. I'm after (and replace a much bigger batch file that I've been using).
  2533. Thanks very much!
  2534. ---
  2535.  ■ OLX 2.2 ■ #3620 ■ Minneapolis, MN
  2536.                      
  2537. PCRelay:BYTELINE -> #365 RelayNet (tm)
  2538. 4.11                The ByteLine! ■ Mpls, MN ■ 612-931-0275/DS
  2539.                          
  2540.  
  2541. ------------------------------------------------------------------------
  2542.  
  2543. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  2544.  
  2545.  BBS: ASTRIX          Conference: 4DOS            Imported:  5/21/1992
  2546.   To: ERWIN SCHMERLING                Num: 12616      Date:  5/16/1992
  2547. From: REX CONN                         Re: 12149      Time:  9:32 am
  2548. Subj: WIN && 4DOS == PROBLEMS        Prvt: N          Read: N
  2549.  
  2550. -> Maybe you can help explain this puzzle.  I have a "clean" boot disk
  2551. -> for defragging, backing up, etc.  Despite the fact that I have
  2552. ->
  2553. ->       set comspec=c:\command.com
  2554. ->
  2555. -> the system still asks me to put in disk A: if I try to do anything
  2556. -> that requires a command processor reload.
  2557.  
  2558. Congratulations, you've discovered a COMMAND.COM, ahhhh, "feature"!
  2559. COMMAND.COM keeps a static string in its resident portion which
  2560. specifies where it loaded from originally; it will always reload from
  2561. the same place regardless of what you say in COMSPEC.  The only ways
  2562. around it is to load a _second_ copy from C:, or change your SHELL
  2563. statement to specify loading the original copy from C: (assuming the
  2564. drive hasn't been blown).
  2565.  
  2566.         - Rex
  2567.                          
  2568. PCRelay:DCINFO -> #16 MetroLink International Network
  2569. 4.10              DC Info Exchange MetroLink International Hub
  2570.           
  2571.  
  2572. ------------------------------------------------------------------------
  2573.  
  2574. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  2575.  
  2576.  BBS: ESCMAIL         Conference: 4dos(ECHO)      Imported:  5/21/1992
  2577.   To: ALEX MACPHEE                    Num: 460        Date:  5/17/1992
  2578. From: WOLFGANG RIEDEL                  Re:            Time: 11:01 pm
  2579. Subj: Listing directories e          Prvt: N          Read: N
  2580.  
  2581. Hi Alex,
  2582.  
  2583. Thursday May 14 1992, Alex Macphee writes to All:
  2584.  
  2585.  AM> I'm trying to create an alias that will produce a list of directories
  2586. only
  2587.  AM> that can be redirected to a list file, so that directories in the list
  2588.  AM> file(s) can be backed up/archived.  So far I have
  2589.  
  2590. try this.
  2591. It works fine on my system and is based on REFRESH.BTM from the auto CD batch
  2592. file.
  2593. But you have to set TEMP in your AUTOEXEC.BAT first.
  2594.  
  2595.       SET TEMP=J:\TEMP\
  2596.  
  2597. *--------------------------------------------------------
  2598. setlocal
  2599. *set _f=%TEMP%cdd.ini
  2600. *echo ` `
  2601. iff exist %_f then
  2602.    *echo %@upper[%0] will add to existing file "%_f".
  2603. else
  2604.    *echo %@upper[%0] will create directory file "%_f".
  2605. endiff
  2606. *set i=%1
  2607. if "%i"=="" *set i=%@char[%@ascii[%@upper[%_boot]]]
  2608.  
  2609. :scan
  2610. iff exist %i:\nul. then
  2611.    *echo   
  2612.    *echo ----------------------------------------------
  2613.    *echo   
  2614.    *echo Processing drive %@upper[%i]
  2615.    *echo  
  2616.    *cdd %i:\^global/iq (*echo %_cwd>>! %_f^*echo %_cwd)
  2617. else
  2618.    *echo   
  2619.    *echo ----------------------------------------------
  2620.    *echo   
  2621.    *echo Invalid drive: %i
  2622.    *echo assume LASTDRIVE=%i found
  2623.    goto _ende
  2624. endiff
  2625. *set i=%@char[%@eval[%@ascii[%i]+1]]
  2626. if %i le %@upper[%_lastdisk] .and. "%1"=="" goto scan
  2627.  
  2628. :_ende
  2629. copy %temp%cdd.ini c:\4dos
  2630.  
  2631. *--------------------------------------------------------------------
  2632.  
  2633. Tschau and happy hagging,
  2634.  
  2635.          \    /
  2636.           \/\/olfgang
  2637.  
  2638. --- GoldED 2.40
  2639.  * Origin: -=> K&R <=- Point of Andromeda-BBS Erlangen, FRG (2:246/91.2)
  2640.  
  2641. ------------------------------------------------------------------------
  2642.  
  2643. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  2644.  
  2645.  BBS: ASTRIX          Conference: 4DOS            Imported:  5/23/1992
  2646.   To: JAMES MORRIS                    Num: 12756      Date:  5/19/1992
  2647. From: GREG SMITH                       Re: 0          Time:  6:11 pm
  2648. Subj: 4DOS & DR-DOS PASSWORDS        Prvt: N          Read: N
  2649.  
  2650. JM>One reason for being able to run COMMAND.COM under 4DOS is in order to
  2651. JM>gain full access to a password protected file.  Another is the fact that
  2652.  
  2653. True.  The global passwords have been sufficient for me.  Here's a
  2654. couple aliases I use to "log in & out":
  2655.  
  2656. login=password /G:* && prompt ^e[1;32mShell #$z on $D,^e[1;33;44m logged
  2657.       in ^e[1;36;40m$_$P$G^e[0;37m
  2658. logout=password /NG^prompt ^e[1;32mShell #$z on $D^e[1;36m$_$P$G^e[0;37m
  2659.  
  2660. JM>some program out there may invoke COMMAND.COM instead of 4DOS.COM when a
  2661. JM>"Shell to DOS" is done within the program.  Personally, any program I
  2662. JM>write with a "Shell to DOS" feature uses the COMPSEC environment
  2663.  
  2664. Every program that I've found which relies on COMMAND.COM (not many)
  2665. I've just deleted and done without.
  2666.  
  2667. Greg
  2668.  
  2669.  * SLMR 2.1a * Itsdifficulttobeverycreativewithonlyfiftysevencharacters.
  2670.  
  2671. PCRelay:BOREALIS -> #914 RelayNet (tm)
  2672. 4.11                Borealis Online Computer Store (303)750-7136
  2673.                                                                            
  2674. PCRelay:DCINFO -> #16 MetroLink International Network
  2675. 4.10              DC Info Exchange MetroLink International Hub
  2676.           
  2677.  
  2678. ------------------------------------------------------------------------
  2679.  
  2680. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  2681.  
  2682.  BBS: ASTRIX          Conference: 4DOS            Imported:  5/23/1992
  2683.   To: DAVE LEMIRE                     Num: 12764      Date:  5/21/1992
  2684. From: JIM LYNCH                        Re: 0          Time:  2:17 am
  2685. Subj: 4DOS DEMO             2/2      Prvt: N          Read: N
  2686.  
  2687. DL> :MENU_DISPLAY
  2688. DL> cls
  2689. DL> drawbox 1 1 23 78 2 bri bla on black fil black
  2690. DL> for %%a in (3 5 7 9 11 13 15 17 19 21 ) drawhline %%a  1 78 1 bri bla o
  2691. DL> drawvline 1 39 21 1 bri bla on black
  2692. DL> scrput 0 24 bright yellow on red * * * *   GAMES MENU   * * * *
  2693. DL> scrput 2 5 red on cyan  F1 
  2694. DL> scrput 2 9 bri cyan on black  -- Railroad Tycoon
  2695. DL> scrput 2 43 red on cyan  F2 
  2696. DL> scrput 2 47 bri cyan on black  -- EGA Backgammon
  2697. DL> scrput 4 5 red on cyan  F3 
  2698.  
  2699. Another way to make a menu is to create a file which has the
  2700. menu prompts, one per line, then use (AT)select[] to display the
  2701. file. Makes it a whole lot easier when you want to change the
  2702. menu. Plus, you can start nesting the menus very easily.
  2703.  
  2704. For example you could create a file called GAMEMENU.DAT that
  2705. looks like:
  2706.  
  2707.    RailRoad Tycoon
  2708.    Backgammon
  2709.    ETC
  2710.  
  2711. then your menu.btm has GOTO labels matching the prompts in the
  2712. GAMEMENU.DAT file:
  2713.  
  2714.    setlocal
  2715.  
  2716.    :GAMEMENU
  2717.    set choice=%@word[0,%(AT)select[GAMEMENU.DAT,8,25,19,55,* GAME MENU *]]
  2718.    if %choice!==! goto end
  2719.    goto %choice
  2720.  
  2721.    :RAILROAD
  2722.    stuff to start railroad gane
  2723.    goto GAMEMENU
  2724.  
  2725.    :BACKGAMMON
  2726.    stuff to start backgammon game
  2727.    goto GAMEMENU
  2728.  
  2729.    :ETC
  2730.    whatever
  2731.    goto GAMEMENU
  2732. ---
  2733.  
  2734. ■ MegaMail 2.1ß #0:
  2735.                                  
  2736. PCRelay:DCINFO -> #16 MetroLink International Network
  2737. 4.10              DC Info Exchange MetroLink International Hub
  2738.           
  2739.  
  2740. ------------------------------------------------------------------------
  2741.  
  2742. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  2743.  
  2744.  BBS: ASTRIX          Conference: 4DOS            Imported:  5/25/1992
  2745.   To: GEORGE BELL                     Num: 12780      Date:  5/20/1992
  2746. From: IAN HUNTER                       Re: 0          Time: 11:17 am
  2747. Subj: CAN 4DOS DO IT?                Prvt: N          Read: N
  2748.  
  2749. From: GEORGE BELL                    To: ALL USERS
  2750. Subj: CAN 4DOS DO IT?                Conf: (21) 4DOS
  2751. ---------------------------------------------------------------------------
  2752. GB>I would like to be able to use LHA and compress, without doing a sep-
  2753. GB>rate application for each of my some 200 TType fonts, not in one large
  2754. GB>file but a file for each font and save the font name. ie., TTXYZ.TTF to
  2755. GB>TTXYZ.LZH. Any ideals for a btm file.
  2756.  
  2757.  
  2758. One line:
  2759.  
  2760. for %f in (*.ttf) do lha m %@name[%f] %f
  2761.  
  2762. this says:  (or should say <g>)
  2763.  
  2764. for each file matching *.ttf do
  2765.   compress the file with lha and delete the original
  2766.   (compress to a file with the same NAME (not extension) as the original)
  2767.  
  2768.  
  2769. Once I used the command
  2770.  
  2771. for %f in (*.pas) do pkzip -m %@name[%f] %@name[%f].*
  2772.  
  2773. I was zipping up source code files that have the format
  2774.  
  2775. filename.pas
  2776. filename.icd
  2777. filename.inc
  2778. filename.obj
  2779. filename.inX where X is from 1 to 5 or so
  2780.  
  2781. and it did 'em all with one command.  Yay 4Dos!
  2782.  
  2783. Ian
  2784. ---
  2785.  ■ SLMR 2.1a ■ It's my parity and I'll baud if I want to!
  2786. ---
  2787.   SFUTI 3.16 » ßETA Busters - On The Bleeding Edge of Technology!
  2788.  
  2789. PCRelay:PARADIGM -> #241 RelayNet (tm)
  2790.   
  2791.  
  2792. ------------------------------------------------------------------------
  2793.  
  2794. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  2795.  
  2796.  BBS: ESCMAIL         Conference: 4dos(ECHO)      Imported:  5/25/1992
  2797.   To: MURRAY WELLS                    Num: 500        Date:  5/22/1992
  2798. From: WILLIAM HUGHES                   Re:            Time:  2:57 pm
  2799. Subj: 4dos Coloured director         Prvt: N          Read: N
  2800.  
  2801. MW>    With laptop monitors, I have found, the ability to make important
  2802.   >file extensions brighter than the rest of a directory listing can be
  2803.   >quite useful...
  2804. MW>    What I would like to see is a directory command that produced a *.*
  2805.   >listing with a command-line-specified highlighted extension...
  2806. MW>    IE:  Dir /bat would produce a *.* directory listing with all *.bat
  2807.   >files displayed in Bright White (or whatever)...
  2808.  
  2809. alias `HLDIR set colordir=%1:bright white ^ dir %& ^ set colordir='
  2810.  
  2811. MW>    Actually, now that I've mentioned it, I wonder if I could dummy up
  2812.   >something with an alias?
  2813.  
  2814. heh heh
  2815.  
  2816.  
  2817.  * SLMR 2.1a * 
  2818.  
  2819. --- MsgToss 2.0b (r)
  2820.  * Origin: Nul 512-615-NUL1 HST/V32b,615-NUL2, NUL3, 1.2Gig (1:387/255)
  2821.  
  2822. ------------------------------------------------------------------------
  2823.  
  2824. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  2825.  
  2826.  BBS: ESCMAIL         Conference: 4dos(ECHO)      Imported:  5/25/1992
  2827.   To: ALL                             Num: 520        Date:  5/22/1992
  2828. From: OLIVER SCHWABEDISSEN             Re:            Time: 10:20 pm
  2829. Subj: Synchronizing 4OS2 and 4D      Prvt: N          Read: N
  2830.  
  2831. i have a big problem to call a 4DOS batch file from an 4OS2 (v0.95) session
  2832. when the 4OS2 session is running in the background.
  2833.  
  2834. Example: I have these two batch files
  2835.  
  2836. OS2TEST.CMD:
  2837. ---------------------------------- cut here ---------------------------------
  2838. @echo off
  2839. echo This is an OS/2 batch file. Let's sleep for 10 seconds...
  2840. delay 10
  2841. echo Now starting a DOS batch file...
  2842. call e:\tmp\dostest.bat
  2843. echo Back from DOS, wait another 5 seconds...
  2844. delay 5
  2845. echo That's it!
  2846. ---------------------------------- cut here ---------------------------------
  2847.  
  2848. DOSTEST.BAT:
  2849. ---------------------------------- cut here ---------------------------------
  2850. @echo off
  2851. echo This is a DOS batch file... Let's wait for 20 long seconds...
  2852. delay 20
  2853. echo and now back to OS/2...
  2854. ---------------------------------- cut here ---------------------------------
  2855.  
  2856. Now when I start OS2TEST from a 4OS2 foreground session it sleeps 10 seconds,
  2857. starts the 4DOS batch and when this is finished it returns to the 4OS2 batch,
  2858. sleeping another 5 seconds and then exits. Fine. Just as I expected.
  2859.  
  2860. But: when I start OS2TEST and then iconize the 4OS2 session immediately it
  2861. still starts the DOSTEST batch file _but_doesn't_wait_ for it to finish!
  2862. Instead I'm getting a msg in my 4OS2 window saying:
  2863.  
  2864. ---------------------->>>>>>> schnipp schnapp <<<<<<<------------------------
  2865. The Session Manager cannot start the process in
  2866. the foreground. It will be started in the background.
  2867.  "E:\TMP\DOSTEST.BAT"
  2868. Back from DOS, wait another 5 seconds...
  2869. That's it!
  2870. ---------------------->>>>>>> schnipp schnapp <<<<<<<------------------------
  2871.  
  2872. This is a very big problem for me since I still have some 4DOS batches for my
  2873. BBS that have to be finished before the calling 4OS2 batch is allowed to
  2874. continue! And my mailer and BBS are ususally running in background... How can
  2875. I synchronize both batch files? Did I miss something in the documentation? Is
  2876. this a bug in 4OS2?
  2877.  
  2878.  Oliver, the confused...
  2879.  
  2880. --- GoldED 2.40+/Reg.-No. #0015
  2881.  * Origin: Tact is the art of making a point without making an enemy
  2882. (2:248/19)
  2883.  
  2884. ------------------------------------------------------------------------
  2885.  
  2886. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  2887.  
  2888.  BBS: ESCMAIL         Conference: 4dos(ECHO)      Imported:  5/26/1992
  2889.   To: CARLOS LEGASPI                  Num: 544        Date:  5/24/1992
  2890. From: DAVE MUNHOLLON                   Re:            Time:  3:51 pm
  2891. Subj: 4dos                           Prvt: N          Read: N
  2892.  
  2893. Hello Carlos!
  2894.  
  2895. Thursday May 21 1992, Carlos Legaspi writes to All:
  2896.  
  2897.  CL> Hi All!
  2898.  
  2899.  CL> are there any commands that you can use to run a  program say every
  2900. MONDAY
  2901.  CL> of the week or every first monday of each month?
  2902.  CL> i can't find any day of the week and month that i can use in 4dos..i
  2903. have
  2904.  CL> seen the %@date check only..
  2905.  
  2906. Yes, there is, it is %_dow (returns sat sun .... for today). Using %_dow,
  2907. %_date (notice--- it is an '_' not a '@') and %@substr[string,start
  2908. character,number of characters] you can. It would look like this:
  2909.  
  2910.  
  2911. if "%_dow"="mon" .and. "%@substr[%_date,3,2]"="01"  echo Pfft!
  2912.         |          |             |                   |
  2913. Check Day
  2914.                    |             |                   |
  2915. Only true if both are true
  2916.                                  |                   |
  2917. start at 3rdh character in string [date,
  2918. in format 00-00-00] and return the next              |
  2919. 2 characters
  2920.                                                      |
  2921. Do whatever -----------------------------------------
  2922.  
  2923.  
  2924. Your date structure may be different, so you'd have to change
  2925. %@substr[%_date,0,2].
  2926.  
  2927. Hope this helps.
  2928.                                -=*Dave
  2929.  
  2930. --- GoldED 2.40
  2931.  * Origin: Jackpot!! I've got 4DOS (719) 570-6118 (1:128/86)
  2932.  
  2933. ------------------------------------------------------------------------
  2934.  
  2935. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  2936.  
  2937.  BBS: ESCMAIL         Conference: 4dos(ECHO)      Imported:  5/26/1992
  2938.   To: MURRAY WELLS                    Num: 547        Date:  5/24/1992
  2939. From: STEN DRESCHER                    Re:            Time: 11:25 am
  2940. Subj: 4START.BTM and 4DOS.O          Prvt: N          Read: N
  2941.  
  2942.  MW>     Surely, but as I've said in previous messages, I would
  2943.  MW> find it *very* useful if 4START was split into seperate
  2944.  MW> sections, much like the 4DOS.INI file, so that commands
  2945.  MW> could be specified to effect global shells, primary shells
  2946.  MW> or secondary shells where such distinctions might be required...
  2947.  
  2948.         Well, how about this:
  2949.  
  2950.  rem global shells
  2951.  .
  2952.  .
  2953.  .
  2954.  iff %_shell eq 0 then
  2955.  rem primary shell
  2956.  .
  2957.  .
  2958.  .
  2959.  else
  2960.  rem secondary shells
  2961.  .
  2962.  .
  2963.  .
  2964.  endiff
  2965.  rem more global shell stuff
  2966.  .
  2967.  .
  2968.  .
  2969.  
  2970.         It's not quite as seamless as what you were suggesting, but it's much
  2971. more flexible.  I do this, because I use a different prompt i secondary
  2972. shells as opposed to primary shells, and I set it in my 4START.BTM file.
  2973.  
  2974.         -Sten
  2975.  
  2976. --- EZPoint V2.2
  2977.  * Origin: NUL.Ten Forward, San Antonio, TX (1:387/255.104)
  2978.  
  2979. ------------------------------------------------------------------------
  2980.  
  2981. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  2982.  
  2983.  BBS: ESCMAIL         Conference: 4dos(ECHO)      Imported:  5/26/1992
  2984.   To: ALL                             Num: 529        Date:  5/21/1992
  2985. From: WIM JANSSEN                      Re:            Time: 10:37 am
  2986. Subj: Toggle Keys                    Prvt: N          Read: N
  2987.  
  2988. Yesterday I made some very usefull aliasses.. I will call them
  2989. '4Dos Key Toggles' Because it's not so important what they do,
  2990. but HOW... You can achieve the same result with 2 different
  2991. (key)alias-files, but the nice thing about this solution is that
  2992. it's all possible with 1 alias file!
  2993.  
  2994. Key toggling is mostly used in programs to switch from one state
  2995. to another e.g. Print ON/OFF. With this solution you cannot switch
  2996. on your printer, but you can do a lot off other 'switching' and all
  2997. this with ONE Key!
  2998.  
  2999. I haven't seen this solution before. So that's why I am writing this
  3000. message. Luckily for us (2:512) in Holland 4Dos is in the air again..
  3001. so hopefully a lot off 4Dos Users will read this....
  3002.  
  3003. Here is an example of 1 'key-toggle'. This F2 key calls a Btm named
  3004. 'TSR' which can kill all of my TSR's in memory, but it also can restore
  3005. the original situation as it was at 'bootup time'.
  3006.  
  3007. My original alias list is called 'Org.Als' The alias to read an alias
  3008. list is called 'RA' When I want to read the alias list 'Org.Als' I call
  3009. the alias 'RA Org'. That's a little about this important alias...
  3010. The alias is as follows:
  3011.  
  3012. **** Edit Next lines to 1 line!
  3013.  
  3014. RA=Pushd C:\Sys\4Dos^Iff Exist %1.Als Then Alias /R %1.Als^Else
  3015. Echo File %1.Als Not Found!^EndIff^Popd
  3016.  
  3017. As you will see you HAVE to change this alias to suit your own needs!
  3018. If you have already such an alias, you can use that one of course.
  3019.  
  3020. Well now the mentioned 'key toggle alias':
  3021.  
  3022. **** Edit Next lines to 1 line!
  3023.  
  3024. @F2=@Alias @F2=`@RA Org^C:\Sys\4Dos\TSR
  3025. Install(Ctrl-X)(Ctrl-X)r`^C:\Sys\4Dos\TSR Kill(Ctrl-X)r
  3026.  
  3027. Maybe it's all a bit clearer when I change it to a 'Logging Toggle':
  3028.  
  3029. @F2=@Alias @F2=`@RA Org^Log OffCtrl-X)(Ctrl-X)r`^Log On(Ctrl-X)r
  3030.  
  3031. As long as, your used alias list is not too long, this 'key toggle
  3032. alias' works perfect!!
  3033.  
  3034. Succes....
  3035.  
  3036. Note: (Ctrl-X) is the default 4Dos escape 'arrow-up' character
  3037.  
  3038. Groetjes,     .
  3039.            \\'I,\\
  3040.  
  3041. --- FM 2.02
  3042.  * Origin: Point of "The Ultimate", 31-53-303902/328506 (2:512/32.9)
  3043.  
  3044. ------------------------------------------------------------------------
  3045.  
  3046. Echo Flag : N       Permanent: N       Export: N      Personal Read: N
  3047.  
  3048.  BBS: ASTRIX          Conference: 4DOS            Imported:  5/30/1992
  3049.   To: DAVID KUNZ                      Num: 12883      Date:  5/28/1992
  3050. From: DON BEILFUSS                     Re: 12863      Time: 12:12 pm
  3051. Subj: 4DOS AND OS/2                  Prvt: N          Read: N
  3052.  
  3053. Dave,
  3054.  
  3055. You need to make 4DOS the command processor in your OS/2 CONFIG.SYS file
  3056. and then you won't have to make it the shell in the DOS Settings for
  3057. each task.  You'll also get 4Dos as the default whenever you run a DOS
  3058. task under OS/2.
  3059.  
  3060. PROTSHELL=C:\OS2\PMSHELL.EXE          {leave as is}
  3061. SET OS2_SHELL=C:\4OS2\4OS2.EXE        {change to 4OS2}
  3062. SET RUNWORKPLACE=C:\OS2\PMSHELL.EXE   {leave as is}
  3063. SET COMSPEC=C:\4OS2\4OS2.EXE          (change to 4OS2}
  3064. rem SHELL=C:\OS2\MDOS\COMMAND.COM C:\OS2\MDOS /P   {commented out}
  3065. SHELL=C:\4Dos4\4Dos.Com C:\4Dos4      {add this line}
  3066.  
  3067. Good luck,
  3068. Don
  3069.                                                    
  3070.  
  3071. ------------------------------------------------------------------------
  3072.  
  3073. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  3074.  
  3075.  BBS: ASTRIX          Conference: 4DOS            Imported:  5/30/1992
  3076.   To: DENNIS MCCUNNEY                 Num: 12879      Date:  5/26/1992
  3077. From: DOUG MACLEAN                     Re: 0          Time:  7:26 am
  3078. Subj: Unix utilities meet 4DOS       Prvt: N          Read: N
  3079.  
  3080. Hi Dennis,
  3081.  
  3082. Since I think I remember that you are a "awk" user I thought I would
  3083. share a trivial but useful little combination of awk, touch, and
  3084. 4DOS.  Recently, I thought it would be nice to convert some old zip
  3085. files to arj to save some floppy space.  The problem was I would lose
  3086. the nifty download information comments that robocomm supplies.
  3087. Also, the origianl timestamp is lost when robo adds the comment.
  3088. Here is my new fixfile.bat to preserve the time stamp.
  3089.  
  3090. touch -d%@filedate[%1] -t%@filetime[%1] temp
  3091. pkzip -z -o %1 <comment.txt
  3092. touch -d%@filedate[temp] -t%@filetime[temp] %1
  3093. del temp
  3094.  
  3095. Next, I wanted to use rearj to convert the file to arj format saving
  3096. the comment.  For this I use convert.btm
  3097.  
  3098. setlocal
  3099. set ARJ_SW=-we:\ -jm -i1
  3100. pkunzip -v %1 >temp
  3101. awk comment.awk temp>comment
  3102. rearj /a* /lconvert.log /v %1
  3103. if %@lines[comment] == -1 goto done
  3104. arj y -s1 -zcomment %@name[%1].arj
  3105. echo %1: Comment transfered >> convert.log
  3106. :done
  3107. del temp comment
  3108. endlocal
  3109.  
  3110. Finally, here is the awk script used in line four:
  3111.  
  3112. {
  3113.     if (NR > 6)
  3114.         {
  3115.             if (NR == 7) if ($0 !~ /Robocomm/) exit
  3116.             print $0
  3117.             if ($0 ~ /════════════════════════════════════════════/) exit
  3118.         }
  3119. }
  3120.  
  3121. This script will skip the beginning pkzip banner and all file
  3122. listings.
  3123.  
  3124. Regards,
  3125. Doug
  3126. └─┐
  3127.  
  3128. PCRelay:MOONDOG -> #35 RelayNet (tm)
  3129. 4.11               HUBMOON-MoonDog BBS, Brooklyn,NY 718 692-2498
  3130.     
  3131.  
  3132. ------------------------------------------------------------------------
  3133.  
  3134. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  3135.  
  3136.  BBS: ESCMAIL         Conference: 4dos(ECHO)      Imported:  5/30/1992
  3137.   To: YOUSUF KHAN                     Num: 617        Date:  5/21/1992
  3138. From: FURLAN PRIMUS                    Re:            Time:  7:06 am
  3139. Subj: 4dos new feature               Prvt: N          Read: N
  3140.  
  3141. Hello Yousuf,
  3142.  
  3143. languaging in a message on <May 19 14:27>, in 4DOS, you wrote:
  3144.  
  3145.  YK> What exactly is a history "squeeze"?
  3146.  
  3147. it takes all of the present history commands, deletes duplicates and reloads
  3148. the history stack w/o the dupes.  it MAY even sort them, i don't recall at
  3149. this point.  you could use a BTM file to do something similar (it may or may
  3150. not be faster):
  3151.  
  3152. _ _ _ O_/_ _C_U_T_ _H_E_R_E_ _ _ _ _ _ _
  3153.       O \
  3154.  
  3155. :: pruning the history list of dupes ::
  3156.  
  3157. history > temp.in
  3158. sortf temp.in unique.in
  3159. awk "$0 != prev { prev = $0; print }" < unique.in > unique.out
  3160. history /f
  3161. history /r unique.out
  3162. del temp.in unique.in unique.out /q
  3163.  
  3164. _ _ _ O_/_ _C_U_T_ _H_E_R_E_ _ _ _ _ _ _
  3165.       O \
  3166.  
  3167. fl
  3168.  
  3169.  
  3170. --- msgedsq 2.1
  3171.  * Origin: Compassion is the basis of all morality. (1:141/590)
  3172.  
  3173. ------------------------------------------------------------------------
  3174.  
  3175. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  3176.  
  3177.  BBS: ESCMAIL         Conference: 4dos(ECHO)      Imported:  5/30/1992
  3178.   To: BOB CAMPBELL                    Num: 567        Date:  5/17/1992
  3179. From: GARTH KIDD                       Re:            Time:  7:09 am
  3180. Subj: load and call                  Prvt: N          Read: N
  3181.  
  3182.  BC> does anyone have a .BAT routine that will exectute 4dos.com and
  3183.  BC> then without further intervention call a .BTM from the shell?
  3184.  
  3185. Why not have the batch file call itself? :-)
  3186.  
  3187.   @echo off
  3188.   if not "%_4ver"=="" goto doinstall
  3189.   set blergh=
  3190.   4dos /c %0
  3191.   if not "%blergh%"=="" goto xit
  3192.  
  3193.     [For some reason or other, 4DOS couldn't be found or
  3194.      somehow failed to run your batch file, so the res
  3195.      environment variable is still blank. Handle it how-
  3196.      ever you see fit. For example...]
  3197.  
  3198.   echo 4dos.com not found!
  3199.   goto xit
  3200.  
  3201.   :do install
  3202.  
  3203.     [here's where you whack all your 4DOS-specific stuff]
  3204.  
  3205.   set blergh=[something]
  3206.   exit
  3207.  
  3208.   :xit
  3209.   exit
  3210.  
  3211. One thing you should check is whether distributing copies of 4dos.com
  3212. willy-nilly around the place with your product is really allowed. Converting
  3213. your batch file to an executable, either with one of the popular batch-file
  3214. compilers or by re-coding it in some other language entirely, might be a good
  3215. idea.
  3216.  
  3217. Now, if there was a batch-file compiler by the same people as 4DOS, things
  3218. would be wonderful! :-)
  3219.  
  3220.  
  3221. garth.
  3222.  
  3223. ---
  3224.  * Origin: deadly bloody serious v1.3 (3:680/828)
  3225.  
  3226. ------------------------------------------------------------------------
  3227.  
  3228. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  3229.  
  3230.  BBS: ESCMAIL         Conference: 4dos(ECHO)      Imported:  5/30/1992
  3231.   To: DARRYL GREGORASH                Num: 624        Date:  5/26/1992
  3232. From: TRAVIS KIRTON                    Re:            Time: 11:50 pm
  3233. Subj: Possible bug in 4DOS 4.0       Prvt: N          Read: N
  3234.  
  3235. Alright...here is my file...
  3236.  
  3237. @echo off
  3238. cls
  3239. echo IMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM;
  3240. echo : ViruCheck(R) DOS version 1.20.01  :
  3241. echo : (C) 1991,92 RKConsulting 
  3242. IMMMMMMMJMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM;
  3243. echo : All Rights Reserved.      : This program is freeware, but any
  3244. donations   :
  3245. echo HMMMMMMMMMMMMMMMMMMMMMMMMMMM9 would be appreciated.  Send any donations
  3246. to: :
  3247. echo                             :                                           
  3248.    :
  3249. echo IMMMMMMMMMMMMMMMMMMMMMMMMMMMJMMMMMM;    Travis Kirton
  3250. echo : For use with:                    :    C/O RKConsulting                
  3251.    :
  3252. echo :     MS- or DR-DOS using the      :    P.O. Box 7461                   
  3253.    :
  3254. echo :     Standard Command Interpreter :    The Woodlands, Texas 77387-7461 
  3255.    :
  3256. echo :                                 
  3257. LMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM<
  3258. echo HMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM<
  3259. echo ................................................................
  3260. pause
  3261. cls
  3262. if not "%2x"=="x" goto cont1c
  3263. if not exist vchkcnf.bat goto cont1a
  3264. :cont1d
  3265. call vchkcnf.bat
  3266. goto cont1b
  3267. :cont1c
  3268. set data=%2
  3269. goto cont1b
  3270. :cont1a
  3271. vchkset
  3272. goto cont1d
  3273. pause Press any key to begin.
  3274. :cont1b
  3275. cls
  3276. echo Attempting to uncompress %1 - (Attempt #1)
  3277. echo Using PKUnzip [.ZIP format]
  3278. echo ================================================================
  3279. set compress=PKUnZip
  3280. %compress% %1 vctemp >nul:
  3281. if errorlevel 1 goto arc
  3282. if errorlevel 0 goto success
  3283. :arc
  3284. cls
  3285. echo %compress% unsuccessful
  3286. echo Attempting to uncompress %1 - (Attempt #2)
  3287. echo Using PKUnpack [.ARC format]
  3288. echo ================================================================
  3289. set compress=PKUnPak
  3290. %compress% -x %1 vctemp >nul:
  3291. if errorlevel 1 goto lzharc
  3292. if errorlevel 0 goto success
  3293. :lzharc
  3294. cls
  3295. echo %compress% unsuccessful!
  3296. echo Attempting to uncompress %1 - (Attempt #3)
  3297. echo Using LZH Archive Program [.LZH format]
  3298. echo ================================================================
  3299. set compress=LHArc
  3300. %compress% e %1 c:\telemate\vctemp >nul:
  3301. if errorlevel 1 goto arj
  3302. if errorlevel 0 goto success
  3303. :arj
  3304. cls
  3305. echo %compress% unsuccessful!
  3306. echo Attempting to uncompress %1 - (Attempt #4)
  3307. echo Using high-compression Archive Program [.ARJ format]
  3308. echo ================================================================
  3309. set compress=Unarj
  3310. cd\telemate\vctemp
  3311. %compress% e %1 >nul:
  3312. if errorlevel 1 goto zoo
  3313. if errorlevel 0 cd\telemate
  3314. goto success
  3315. :zoo
  3316. cd\telemate\download
  3317. cls
  3318. echo %compress% unsuccessful!
  3319. echo Attempting to uncompress %1 - (Attempt #5)
  3320. echo Using ZOO Archive Program [.ZOO format]
  3321. echo ================================================================
  3322. set compress=Zoo
  3323. cd\telemate
  3324. %compress% -extract %1 *.*>nul:
  3325. if errorlevel 1 goto self
  3326. if errorlevel 0 cd\telemate
  3327. goto success
  3328. :self                    
  3329. cls
  3330. cd\telemate
  3331. echo %compress% unsuccessful!
  3332. echo Attempting to uncompress %1 - (Last Attempt)
  3333. echo Using Self-Extraction Method (.EXE compressed format)
  3334. echo ================================================================
  3335. set compress=Self-Extraction
  3336. echo Currently using Self-Extraction technique
  3337. cd \telemate\vctemp
  3338. %1 >nul:
  3339. cd ..
  3340. if errorlevel 1 goto nocompress
  3341. if errorlevel 0 goto success   
  3342. :nocompress
  3343. cls
  3344. echo Self-extraction unsuccessful!
  3345. echo ================================================================
  3346. echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
  3347. echo [  Note:  Your selected compressed file could not be           [ 
  3348. echo [         uncompressed.  It does not match current compression [
  3349. echo [         techniques.  Virus Check will be aborted.            [
  3350. echo ________________________________________________________________
  3351. pause       
  3352. goto end                              
  3353. :success
  3354. cls
  3355. echo %compress% SUCCESSFUL!!
  3356. echo ................................................................
  3357. echo Checking current file for viruses
  3358. echo ................................................................
  3359. scan vctemp\*.* /a /nomem 
  3360. if errorlevel 1 goto virus
  3361. if errorlevel 0 goto move
  3362. :virus                                                              
  3363. cls
  3364. echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
  3365. echo [                                                                 [
  3366. echo [   IMMMM;                                                        [
  3367. echo [  I<\\\\H;                                                       [
  3368. echo [ I<^____]H;                                                      [
  3369. echo [ :^[STOP[]:  Warning:                                            [
  3370. echo [ H;^\\\\]I<                                                      [
  3371. echo [  H;____I<     Your compressed file has a virus contained inside [ 
  3372. echo [   HMMMM<      the compression that may cause serious damage to  [
  3373. echo [               your disks.  Deleting the file is crucial to      [
  3374. echo [               eliminating the virus.                            [
  3375. echo [                                                                 [
  3376. echo [ Note:  McAfree's Clean-Up may also eliminate the virus problem  [
  3377. echo [                                                                 [
  3378. echo ___________________________________________________________________
  3379. pause Press CTRL-C to use Clean-Up or any key to delete file.
  3380. cls
  3381. echo ................................................................
  3382. echo Performing ViruScan again with virus elimination option...
  3383. echo ................................................................
  3384. scan vctemp\*.* /a /nomem /d >nul:
  3385. echo ViruScan completed!
  3386. goto end
  3387. :move
  3388. cls
  3389. echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
  3390. echo [                                                              [
  3391. echo [  ViruScan indicates no apparent viruses in programs.         [
  3392. echo [                                                              [   
  3393. echo ________________________________________________________________
  3394. echo .................................................................
  3395. echo IMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM;
  3396. echo : For your convienence, the uncompressed files are now being moved :
  3397. echo : to a subdirectory for your use.                                  :
  3398. echo HMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM<
  3399. echo .................................................................
  3400. echo Y>y.txt
  3401. cls
  3402. echo ~ Did not find the search program.
  3403. echo ~ Moving all uncompressed files of the compressed file:
  3404. echo %1
  3405. copy vctemp %data% >nul:
  3406. :cont1
  3407. del vctemp <y.txt >nul:
  3408. del y.txt <y.txt >nul:                 
  3409. cls
  3410. echo ~ Move completed!
  3411. echo .................................................................
  3412. echo ~ Removing compressed file %1.
  3413. echo ~ Press CTRL-BREAK to abort or
  3414. pause
  3415. del %3 >nul:
  3416. cls
  3417. echo ~ File(s) deleted!
  3418. echo ................................................................. 
  3419. :end
  3420. echo ~ Returning to parent program....
  3421.  
  3422. Sorry...it is rather long.  The problem occurs near the
  3423. u`yWZLRsH'5E{p>ql&%];63i?;;CyQ96 
  3424. -Wyq[@]Ai'5}IO p
  3425. N.K+BUIP:}*5E2x(SSTuSJ=q/0\p
  3426. hW/`$H,
  3427. <-"[wB0*:<|2uG3-.1<D]/e@<QH>CO
  3428. end.
  3429.  
  3430. LAter,
  3431. Travis kIrton
  3432.  
  3433. --- Maximus/2 2.01wb
  3434.  * Origin: COMM Port One HST/V.32bis (713) 980-9671 (1:106/2000)
  3435.  
  3436. ------------------------------------------------------------------------
  3437.  
  3438. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  3439.  
  3440.  BBS: ESCMAIL         Conference: 4dos(ECHO)      Imported:  5/30/1992
  3441.   To: TRAVIS KIRTON                   Num: 660        Date:  5/27/1992
  3442. From: DARRYL GREGORASH                 Re:            Time:  6:02 pm
  3443. Subj: Possible bug in 4DOS 4.0       Prvt: N          Read: N
  3444.  
  3445. Argh! This is what arrived here just when you got to the important part:
  3446.  
  3447.  > Sorry...it is rather long.  The problem occurs near the
  3448.  > u`yWZLRsH'5E{p>ql&%];63i?;;CyQ96
  3449.  > -Wyq[@]Ai'5}IO p
  3450.  > N.K+BUIP:}*5E2x(SSTuSJ=q/0\p
  3451.  > hW/`$H,
  3452.  > <-"[wB0*:<|2uG3-.1<D]/e@<QH>CO
  3453.  > end.
  3454.  
  3455.  > if not "%2x"=="x" goto cont1c
  3456.  
  3457. OK, this sort of thing is going to be a problem in 4DOS; DOS will take that
  3458. %2x and interpret it the way you wish.  4DOS has no way of knowing if you
  3459. mean command parameter 2 followed by character x, or environment variable 2x.
  3460.  
  3461. However, no fear;  this works as you want with both command interpreteres:
  3462.  
  3463. if not "%2" == "" goto cont1c
  3464.  
  3465. If the problem is somewhere else, sorry -- there is no documentation in your
  3466. batch, so it would take me forever to figure it out.
  3467.  
  3468. --- GEcho 1.00/beta
  3469.  * Origin: if not (%@eval[2+2]) == (4) echo !@#@#$)& (1:140/86)
  3470.  
  3471. ------------------------------------------------------------------------
  3472.  
  3473. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  3474.  
  3475.  BBS: ESCMAIL         Conference: 4dos(ECHO)      Imported:  6/01/1992
  3476.   To: FURLAN PRIMUS                   Num: 708        Date:  5/29/1992
  3477. From: MAYNARD HOGG                     Re:            Time: 12:54 pm
  3478. Subj: 4Dos New Feature               Prvt: N          Read: N
  3479.  
  3480. YK> What exactly is a history "squeeze"?
  3481.  
  3482. FP>history > temp.in
  3483.   >sortf temp.in unique.in
  3484.   >awk "$0 != prev { prev = $0; print }" < unique.in > unique.out
  3485.  
  3486. Much as I love AWK, there's a faster way:
  3487.  
  3488. history |sort |uniq >unique.out
  3489.          ^^^^Even the half-assed DOS version works here.
  3490.  
  3491.  -- SPEED 1.10 #1086: 
  3492. --- GEcho 1.00/beta
  3493.  * Origin: SuperBBS Support/Sales/Beta site * Avxia_bbs Line 1 (6:730/9)
  3494.  
  3495. ------------------------------------------------------------------------
  3496.  
  3497. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  3498.  
  3499.  BBS: ASTRIX          Conference: 4DOS            Imported:  6/03/1992
  3500.   To: DON BEILFUSS                    Num: 12917      Date:  5/29/1992
  3501. From: DAVID KUNZ                       Re: 12150      Time:  4:27 pm
  3502. Subj: 4DOS AND OS/2                  Prvt: N          Read: N
  3503.  
  3504. DB║ You need to make 4DOS the command processor in your OS/2 CONFIG.SYS fil
  3505. DB║ and then you won't have to make it the shell in the DOS Settings for
  3506. DB║ each task.  You'll also get 4Dos as the default whenever you run a DOS
  3507. DB║ task under OS/2.
  3508. DB║
  3509. DB║ PROTSHELL=C:\OS2\PMSHELL.EXE          {leave as is}
  3510. DB║ SET OS2_SHELL=C:\4OS2\4OS2.EXE        {change to 4OS2}
  3511. DB║ SET RUNWORKPLACE=C:\OS2\PMSHELL.EXE   {leave as is}
  3512. DB║ SET COMSPEC=C:\4OS2\4OS2.EXE          (change to 4OS2}
  3513. DB║ rem SHELL=C:\OS2\MDOS\COMMAND.COM C:\OS2\MDOS /P   {commented out}
  3514. DB║ SHELL=C:\4Dos4\4Dos.Com C:\4Dos4      {add this line}
  3515.  
  3516. This is almost exactly what I did!  Except that my 4DOS line looks
  3517. like this: "shell=c:\4dos\4dos.com c:\4dos /p /e:1024". The problem is
  3518. that if I make 4DOS the primary DOS shell, I can't start Windoze
  3519. programs from the desktop.  Have you tried this?  When I double click on the
  3520. icon, I get the clock for a few seconds then it goes away but nothing
  3521. starts. Also, some Windoze programs started from 4OS2 lock the system
  3522. when they exit. When I use IBM's COMMAND.COM, I get the windoze
  3523. program loaded from the desktop and all is well when they exit!
  3524.  
  3525. Thanks for the reply!
  3526. David Kunz
  3527. ---
  3528.  ■ MegaMail : I Still miss my ex-wife.....BUT, My aim is improving!
  3529.  
  3530. PCRelay:WTHREEJP -> #75 RelayNet (tm)
  3531.                                                                                                           
  3532. PCRelay:DCINFO -> #16 MetroLink International Network
  3533. 4.10              DC Info Exchange MetroLink International Hub
  3534.           
  3535.  
  3536. ------------------------------------------------------------------------
  3537.  
  3538. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  3539.  
  3540.  BBS: ASTRIX          Conference: 4DOS            Imported:  6/03/1992
  3541.   To: DAVID KUNZ                      Num: 12928      Date:  5/31/1992
  3542. From: REX CONN                         Re: 12150      Time:  9:26 am
  3543. Subj: 4DOS AND OS/2                  Prvt: N          Read: N
  3544.  
  3545. 4DOS 4.01 (to be released this week) supports all of the OS/2 features,
  3546. quirks, and back doors.  <g>
  3547.  
  3548. In the meantime, make sure that the \OS2\MDOS\WINOS2 directory is in
  3549. your PATH in AUTOEXEC.BAT.  4DOS needs the path because OS/2 starts a
  3550. Windows program with a command line that looks like:
  3551.  
  3552.         4dos /c winos2 name
  3553.  
  3554.   - Rex
  3555.                                                     
  3556. PCRelay:DCINFO -> #16 MetroLink International Network
  3557. 4.10              DC Info Exchange MetroLink International Hub
  3558.           
  3559.  
  3560. ------------------------------------------------------------------------
  3561.  
  3562. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  3563.  
  3564.  BBS: ASTRIX          Conference: 4DOS            Imported:  6/03/1992
  3565.   To: JOHN DURSO                      Num: 12925      Date:  5/30/1992
  3566. From: BRAD OWEN                        Re: 0          Time: 10:58 am
  3567. Subj: TIME IN BATCH                  Prvt: N          Read: N
  3568.  
  3569. JD>OK, since  that was  so easy, I have another question.  Is there a
  3570. JD>way to run a batch program.  When the batch starts, it would record
  3571. JD>the time and add 1 1/2 hours to the time.  then put it into the
  3572. JD>above line.
  3573.  
  3574. JD>Or
  3575.  
  3576. JD>Batch File :
  3577.  
  3578. JD>read time  (say its 1:00AM and add 1 1/2 hours  or 2:30 AM)
  3579. JD>do stuff         ┌──────────────────────────────────┘
  3580. JD>do stuff         │
  3581. JD>IF "%_time" GT "02:30" goto DONE
  3582. JD>do stuff
  3583. JD>:done
  3584.  
  3585.     John, I think I have it figured out. Try this to see how it works.
  3586.  
  3587. @echo off
  3588. rem first start the 4DOS internal timer
  3589.     timer
  3590.         do stuff
  3591.         do more stuff
  3592.  
  3593. rem now stop the timer and save the output to a file
  3594.     timer > timer.dat
  3595.  
  3596. rem now set some variables to do some measuring
  3597. rem the variable "timevar" gets the string in timer.dat and puts
  3598. rem     puts it into a variable.
  3599.     set timevar=%@[timer.dat,0]
  3600.  
  3601. rem the variable "testvar" gets a substring of just the amount of
  3602.         elapsed time in a standard time format, e.g., 01:22
  3603.     set testvar=%@substr[%testvar,33,5]
  3604.  
  3605. rem now we check the "testvar" variable to see if it is greater than
  3606.         1 1/2 hours in length.
  3607.     if "%testvar" GT "1:30" goto DONE
  3608.         do stuff
  3609.         do more stuff
  3610. rem now we finish up by cleaning up all the variables and deleting
  3611.         the timer.dat file --make sure you are in the directory where
  3612.         timer.dat was created. Just use "pushd" and "popd" if you
  3613.         change directories
  3614.  
  3615. :DONE
  3616.     set timevar=
  3617.     set testvar=
  3618.     del timer.dat
  3619.  
  3620.     Let me know how this works.
  3621. ---
  3622.  ■ DeLuxe² 1.25 #444sa ■ Beat me, whip me, make me read my mail online.
  3623.  
  3624. PCRelay:MIDAS -> #887 RelayNet (tm)
  3625.           
  3626.  
  3627. ------------------------------------------------------------------------
  3628.  
  3629. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  3630.  
  3631.  BBS: ASTRIX          Conference: 4DOS            Imported:  6/04/1992
  3632.   To: JOHN DURSO                      Num: 12959      Date:  5/30/1992
  3633. From: RICHARD AMICK                    Re: 0          Time: 10:27 am
  3634. Subj: TIME IN BATCH                  Prvt: N          Read: N
  3635.  
  3636.  
  3637. JD│OK, since  that was  so easy, I have another question.  Is there a
  3638.   │way to run a batch program.  When the batch starts, it would record
  3639.   │the time and add 1 1/2 hours to the time.  then put it into the
  3640.   │above line.
  3641. Excuse my butting in, but this should work:
  3642.  
  3643. timer /3 on                        Start up built-in timer
  3644. do stuff
  3645. do more stuff
  3646. timer /3 >timer$$$.$$$             Stop timer, save output
  3647. for %i in (#timer$$$.$$$) set elapsed=%#substr[%i,10,-5]
  3648. del timer$$$.$$$
  3649. if "%elapsed" gt " 1:30" goto DONE
  3650. do still more stuff
  3651. :DONE
  3652.  
  3653. The #'s should be replaced with at-signs, of course.  Note that the time
  3654. returned is not zero-padded, thus the leading blank in the comparison.
  3655. ---
  3656.  ■ OLX 2·2 ■ Pretend to spank me.  I'm a pseudo-masochist!
  3657.  
  3658. PCRelay:EDSHOME -> #780 RelayNet (tm)
  3659.                                                                                                         
  3660. PCRelay:DCINFO -> #16 MetroLink International Network
  3661. 4.10              DC Info Exchange MetroLink International Hub
  3662.           
  3663.  
  3664. ------------------------------------------------------------------------
  3665.  
  3666. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  3667.  
  3668.  BBS: ESCMAIL         Conference: 4dos(ECHO)      Imported:  6/03/1992
  3669.   To: CLAY ZAHROBSKY                  Num: 732        Date:  5/30/1992
  3670. From: DANIEL TORREY                    Re:            Time:  4:02 pm
  3671. Subj: Btm                            Prvt: N          Read: N
  3672.  
  3673. Hi, Clay -
  3674.  
  3675. On Wednesday May 27 1992, you wrote to Daniel Torrey:
  3676.  
  3677.  CZ> How about sharing it with us!!!!!!!
  3678.  
  3679. Sure!  I had no idea anyone would be interested.  Here it is:
  3680.  
  3681. +----------------------------------------------------+
  3682. rem
  3683. rem  LOGARC.BTM -- renames logfiles to reflect current day number, adds
  3684. rem  them to an archive file
  3685. rem
  3686. @echo off
  3687.  
  3688. :start
  3689. rem save current directory
  3690.  
  3691.     set save_dir=%_cwd
  3692.     cd c:\gpt\logs
  3693.  
  3694. rem get day number
  3695.  
  3696.     set day_num=%@eval[%@date[%_date] - %@date[1-1-92]]
  3697.  
  3698. rem create logfile names
  3699.  
  3700.     set fdlog_name=`fdlog.`%day_num
  3701.     set sqlog_name=`sqlog.`%day_num
  3702.  
  3703. :rename
  3704. rem rename current files, move to archive directory
  3705.  
  3706.     rename fd.log %fdlog_name
  3707.     rename sq.log %sqlog_name
  3708.     move *.%day_num c:\gpt\logs\old
  3709.     cd c:\gpt\logs\old
  3710.  
  3711. :archive
  3712. rem squash them, using ARJ (what else?)
  3713.  
  3714.     arj a -a+ -jt+ -i1+ fdlog.arj fdlog.*
  3715.     arj a -a+ -jt+ -i1+ sqlog.arj sqlog.*
  3716.     del *.%day_num
  3717.  
  3718. :end
  3719. rem cd back to starting directory, clean up environment
  3720.  
  3721.     cd %save_dir
  3722.     unset day_num
  3723.     unset fdlog_name
  3724.     unset sqlog_name
  3725.     unset r
  3726.  
  3727. +-------------------------------------------------------------+
  3728.  
  3729. -daniel
  3730.  
  3731. ---
  3732.  * Origin: Greenhaven Point * Burnsville, MN * (1:282/60.1)
  3733.  
  3734. ------------------------------------------------------------------------
  3735.  
  3736. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  3737.  
  3738.  BBS: ESCMAIL         Conference: 4dos(ECHO)      Imported:  6/03/1992
  3739.   To: REX CONN                        Num: 720        Date:  5/30/1992
  3740. From: SAUL LEVY                        Re:            Time:  1:27 pm
  3741. Subj: Key reading problem            Prvt: N          Read: N
  3742.  
  3743. Rex,
  3744.  
  3745. Can you (or anyone) help me with a problem with 4DOS?  The 
  3746. following code creates KEY.COM which waits for a keystroke and 
  3747. returns the extended scan code as an errorlevel for ANSIKEY4.BTM 
  3748. (the 4DOS version of ANSIKEY.BAT, shown lower down):
  3749.  
  3750.  
  3751. a
  3752. mov si,0080 ; see if any parameter
  3753. mov cx,[si] ; was entered on the
  3754. xor ch,ch   ; command line
  3755. jcxz 115    ; no, jump to non-FK
  3756. mov ah,0    ; get a character
  3757. int 16      ; using BIOS
  3758. cmp al,0    ; is it function key?
  3759. jnz 109     ; no, so try again
  3760. mov al,ah   ; use 'extended' code
  3761. jmp 119     ; goto errlev setter
  3762. mov ah,0    ; get a character
  3763. int 16      ; using BIOS
  3764. mov ah,4c   ; exit with errorlevel
  3765. int 21      ; via DOS
  3766.  
  3767. n key.com
  3768. rcx
  3769. 1d
  3770. w
  3771. q
  3772.  
  3773.  
  3774. KEY.COM works fine with COMMAND.COM, but not with 4DOS (4.0 B1) 
  3775. which always returns 0010 as the errorlevel.  Here is 
  3776. ANSIKEY4.BTM:
  3777.  
  3778.  
  3779. @echo off
  3780. rem This is ANSIKEY.BAT
  3781. rem This won't work unless ANSI.SYS is loaded and KEY.COM is handy!
  3782. rem It will work with ALL keys EXCEPT the GRAY arrow keys,
  3783. rem GRAY Home/End, GRAY Page Up/Down, and Gray Ins/Del
  3784. set op=%prompt%
  3785. for %%a in (f s st yn cr ex1 ex2) do set %%a=
  3786. if %1!==! goto nostring
  3787. set st=%1
  3788. :top
  3789. shift
  3790. if %1!==! goto done
  3791. set st=%st% %1
  3792. goto top
  3793. :done
  3794. echo Press the key you want to assign %st% to...
  3795. key
  3796. if errorlevel 0 if not errorlevel 1 set ex1=y
  3797. if not %ex1%!==y! goto skip
  3798. echo Please verify this by pressing that key again...
  3799. key /f
  3800. :skip
  3801. for %%a in (0 1) do if errorlevel %%a00 set f=%%a
  3802. for %%a in (0 1 2 3 4 5 6 7 8 9) do if errorlevel %f%%%a0 set f=%f%%%a
  3803. for %%a in (0 1 2 3 4 5 6 7 8 9) do if errorlevel %f%%%a set f=%f%%%a
  3804. if %ex1%!==y! set f=0;%f%
  3805. echo Do you want a carriage return at the end of %st% (y/n)?
  3806. key
  3807. if errorlevel 121 if not errorlevel 122 set cr=;13
  3808. if errorlevel 89 if not errorlevel 90 set cr=;13
  3809. echo on
  3810. echo ^Xe[%f%;"%st%"%cr%p
  3811. goto reset
  3812. :nostring
  3813. echo Press the key you want to change...
  3814. key
  3815. if errorlevel 0 if not errorlevel 1 set ex1=y
  3816. if not %ex1%!==y! goto skip2
  3817. echo Please verify this by pressing that key again...
  3818. key /f
  3819. :skip2
  3820. for %%a in (0 1) do if errorlevel %%a00 set f=%%a
  3821. for %%a in (0 1 2 3 4 5 6 7 8 9) do if errorlevel %f%%%a0 set f=%f%%%a
  3822. for %%a in (0 1 2 3 4 5 6 7 8 9) do if errorlevel %f%%%a set f=%f%%%a
  3823. if %ex1%!=y! set f=0;%f%
  3824. echo Okay, now press the key you want to change it to...
  3825. key
  3826. if errorlevel 0 if not errorlevel 1 set ex2=y
  3827. if not %ex2%!==y! goto skip3
  3828. echo Please verify this by pressing that key again...
  3829. key /f
  3830. :skip3
  3831. for %%a in (0 1) do if errorlevel %%a00 set s=%%a
  3832. for %%a in (0 1 2 3 4 5 6 7 8 9) do if errorlevel %s%%%a0 set s=%s%%%a
  3833. for %%a in (0 1 2 3 4 5 6 7 8 9) do if errorlevel %s%%%a set s=%s%%%a
  3834. if %ex2%!==y! set s=0;%s%
  3835. echo on
  3836. echo ^Xe[%f%;%s%p
  3837. echo ^Xe[10;13p
  3838. :reset
  3839. set prompt=%op%
  3840. @echo off
  3841. rem cls
  3842. if not exist reset.bat goto wipeit
  3843. echo Do you want to AVOID wiping out your existing RESET batch file (y/n)?
  3844. key
  3845. if errorlevel 121 if not errorlevel 122 goto contin
  3846. if errorlevel 89 if not errorlevel 90 goto contin
  3847. :wipeit
  3848. echo @echo on > reset.bat
  3849. :contin
  3850. echo @echo ^Xe[%f%;%f%p >> reset.bat
  3851. echo. >> reset.bat
  3852. rem Spacing of next line is critical!
  3853. echo @set prompt=%op%>> reset.bat
  3854. echo @echo Key with code %f% now reset >> reset.bat
  3855. echo Key with code %f% now redefined; type RESET to restore it
  3856. :end
  3857. for %%a in (f s st yn cr op ex1 ex2) do set %%a=
  3858.  
  3859.  
  3860. Note that the four Control-Xs have been changed to ^X for display 
  3861. here.  What you actually run is SETKEY4.BTM:
  3862.  
  3863.  
  3864. @echo off
  3865. rem c:
  3866. rem cd \batch\setkey
  3867. ansikey4 %1 %2 %3 %4 %5 %6 %7 %8 %9
  3868.  
  3869. Run it without any other parameters to change a key on the 
  3870. keyboard (it won't work on F11 or F12, alas).  You'll need to 
  3871. have some ANSI driver loaded, of course.
  3872.  
  3873. The problem is with KEY.COM and 4DOS it seems.  Any system, 
  3874. assembly programmers around?  This code is by Paul Somerson and 
  3875. Matthew Lake, PC Computing, March, 1992, p. 252.  Somerson often
  3876. uses COMMAND.COM tricks which won't work with 4DOS, etc.  I would 
  3877. like to use this program for quick and dirty changes to my 
  3878. keyboard.  Sorry for the length of this message...
  3879.  
  3880. Saul
  3881. ---
  3882.  * Origin: Old Pueblo BBS - Tucson Computer Society (1:300/2)
  3883. 
  3884. ------------------------------------------------------------------------
  3885.  
  3886. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  3887.  
  3888.  BBS: ESCMAIL         Conference: 4dos(ECHO)      Imported:  6/07/1992
  3889.   To: ALL                             Num: 834        Date:  6/03/1992
  3890. From: ED BLACKMAN                      Re:            Time:  8:27 pm
  3891. Subj: New Directory                  Prvt: N          Read: N
  3892.  
  3893. Hello all,
  3894.   A few weeks ago, someone posted two .BTM files for changing to a
  3895. different directory.  I copied them and messed around with `em for a
  3896. while, and I think I've made some improvements to the code, so I thought
  3897. I'd share it with the rest of you.
  3898.  
  3899. ---8<----------------------------cut here------------------------------>8---
  3900. :
  3901. :                            New Directory!
  3902. :
  3903. :                 A better ChangeDirectory batch file.
  3904. :                Original posted on FidoNet 4DOS echo.
  3905. :                 Modifications by Ed Blackman, 5/92.
  3906. :
  3907. :
  3908. @ECHO OFF
  3909. REM What to do if there aren't any parameters
  3910. IF #%1 EQ # GOTO NOPARAM
  3911. IF #%1 EQ #/r GOTO RESCAN
  3912. REM If the parameter passed to ND is "/r", ND rescans your drives.  The only
  3913. REM    problem is that "/r" cannot be part of any of your directory names.
  3914. REM    This shouldn't be much of a problem, since no one I know uses "/"
  3915. REM    as part of a directory name.  Your mileage may vary, of course.
  3916. C:\DOS\FIND "%@UPPER[%1]" < D:\ENV\ND.DIR > D:\ENV\ND.DR1
  3917. REM  vvvvvvv Change all of  ^^^^^^^ these   ^^^^^^^ to fit your setup.
  3918. TYPE D:\ENV\ND.DR1 | INPUT %%ND
  3919. IF "%ND"=="" GOTO NOTFOUND
  3920. REM If there is only one match, go to it, otherwise, display a list
  3921. REM to select from.
  3922. IFF EXIST D:\ENV\ND.DR1 .AND. %@LINES[D:\ENV\ND.DR1] GE 1 THEN
  3923.         ^ SET LN=%@LINES[D:\ENV\ND.DR1] ^ ELSE ^ CDD %ND ^ QUIT ^ ENDIFF
  3924. REM               Change ^^^^^^^ to fit your setup.
  3925. CLS
  3926. SET TEXT=Press the cursor keys to select, [Enter] to choose, or [Esc] to
  3927. quit.
  3928. SET CDIR=%@SELECT[D:\ENV\ND.DR1,4,5,24,75,%TEXT] ^ UNSET TEXT
  3929. REM        Change ^^^^^^^ to fit your setup.
  3930. IF #%CDIR EQ # GOTO NOPARAM
  3931. GOTO END
  3932. :NOPARAM
  3933. TEXT
  3934.  
  3935. No directory specified.
  3936.  
  3937. Usage:  ND [Directory name or partial directory name]
  3938.  
  3939. ENDTEXT
  3940. UNSET CDIR
  3941. QUIT 2
  3942. :NOTFOUND
  3943. ECHO.
  3944. ECHO ND: Directory "%@UPPER[%1]" was not found!
  3945. ECHO.
  3946. QUIT 2
  3947. :RESCAN
  3948. REM Subroutine to update the list of directories
  3949. TEXT
  3950.  
  3951. ENDTEXT
  3952. PUSHD
  3953. CDD C:\
  3954. DEL D:\ENV\ND.DIR >NUL
  3955. FOR %A IN (C D E) GOSUB SCAN
  3956. REM Change ^^^^^ to fit your setup.
  3957. POPD
  3958. GOTO END
  3959. :SCAN
  3960. TEXT
  3961.  
  3962. ENDTEXT
  3963. ECHO SCANNING DRIVE %A
  3964. *CDD %A:\
  3965. GLOBAL /HIQ (ECHO %@UPPER[%_CWD] >>!D:\ENV\ND.DIR^ECHOS ■)
  3966. REM                          Change ^^^^^^^ to fit your setup.
  3967. RETURN
  3968. :END
  3969. CDD %CDIR
  3970. UNSET CDIR
  3971. ---8<----------------------------cut here------------------------------>8---
  3972.  
  3973. In the original, there were two .BTMs...I combined them into one.  Also,
  3974. the in the original, if there was more than one match, you had to run
  3975. the .BTM without parameters to get to the directory you wanted, which
  3976. struck me as rather inefficient, so I fixed it so that if there was
  3977. more than match, ND displays a list of possibilities to choose from.
  3978.  
  3979. You need to change the paths to reflect your drive and directory setup,
  3980. and you'll probably want to delete the REMarks, too.
  3981.  
  3982. Enjoy!
  3983.  
  3984.  
  3985.                                       Ed Blackman
  3986.  
  3987. ... White dwarf seeks red giant for binary relationship.
  3988. --- Blue Wave/Max v2.05 [NR]
  3989.  * Origin: The Federal Post -{*}- Fayetteville, NC (1:3634/2.0)
  3990.  
  3991. ------------------------------------------------------------------------
  3992.  
  3993. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  3994.  
  3995.  BBS: ESCMAIL         Conference: 4dos(ECHO)      Imported:  6/07/1992
  3996.   To: HEINZ SONNENWALD                Num: 832        Date:  6/04/1992
  3997. From: REX CONN                         Re:            Time:  7:35 am
  3998. Subj: Redirection                    Prvt: N          Read: N
  3999.  
  4000.  HS> When I redirect standard output and error to NUL with :
  4001.  HS>      GLOBAL /I DEL *.BAK /Y >& NUL
  4002.  
  4003. What you want to do is:
  4004.  
  4005.         (global /i del *.bak /y) >& nul
  4006.  
  4007. This redirects _everything_ inside the command group to nul.
  4008.  
  4009.         - Rex
  4010.  
  4011.  
  4012.  
  4013.  
  4014. --- Maximus 2.00
  4015.  * Origin: _The_Attic_ (1:109/423)
  4016.  
  4017. ------------------------------------------------------------------------
  4018.  
  4019. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  4020.  
  4021.  BBS: ESCMAIL         Conference: 4dos(ECHO)      Imported:  6/07/1992
  4022.   To: MAYNARD HOGG                    Num: 823        Date:  6/04/1992
  4023. From: JEFF DUNLOP                      Re:            Time:  9:22 pm
  4024. Subj: Suggestion For Mkdir           Prvt: N          Read: N
  4025.  
  4026. Hello Maynard!
  4027.  
  4028. Wednesday June 03 1992, Maynard Hogg writes to Rex Conn:
  4029.  
  4030.  MH> In the next version, could you enhance the MKDIR/MD command so that it
  4031.  MH> creates \DOWN\THE\GARDEN\PATH even when the intermediate directories
  4032.  MH> DOWN, THE, and GARDEN don't already exist?
  4033.  
  4034. In the interim, if you'd like c source to do that:
  4035.  
  4036. #define TRIM_CHAR(a,b) if ( (a)[strlen(a)-1] == (b) ) (a)[strlen(a)-1] = 0
  4037.  
  4038. int _cdecl make_complex_dir(const char *path_spec)
  4039. {
  4040.     char path_temp[MAXDRIVE + MAXDIR - 1],
  4041.          *temp = path_temp;
  4042.  
  4043.     if ( strlen(path_spec) > MAXDRIVE + MAXDIR - 1 )
  4044.         return 5; /* access denied */
  4045.     else if ( strlen(path_spec) <= 3 && path_spec[1] == ':' )
  4046.         return 0; /* root directory passed */
  4047.     strcpy(path_temp, path_spec);
  4048.     TRIM_CHAR(path_temp, '\\');
  4049.     errno = 0;
  4050.     while ( *temp++ && !errno )
  4051.     {
  4052.         if ( *temp == '\\'  && *(temp - 1) != ':')
  4053.         {
  4054.             *temp = '\0';
  4055.             mkdir(path_temp);
  4056.             errno = errno == EACCES ? 0 : errno;
  4057.             *temp = '\\';
  4058.         }
  4059.     }
  4060.     if ( !errno )
  4061.     {
  4062.         mkdir(path_temp);
  4063.     }
  4064.     return errno == EACCES ? 0 : errno;
  4065. }
  4066.  
  4067. Jeff
  4068.  
  4069. --- GoldED 2.40
  4070.  * Origin: DB/Soft Online  (1:203/16)
  4071.  
  4072. ------------------------------------------------------------------------
  4073.  
  4074. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  4075.  
  4076.  BBS: ASTRIX          Conference: 4DOS            Imported:  6/10/1992
  4077.   To: MIKE HANEWINCKEL                Num: 13042      Date:  6/06/1992
  4078. From: GEOFF TAYLOR                     Re: 0          Time:  8:37 pm
  4079. Subj: Executable Extensions          Prvt: N          Read: N
  4080.  
  4081. MH-}I was curious to find out how many of you guys took advantage of 4DOS'
  4082. MH-}ability to make 'executable extensions'. I find them to be quite a
  4083.  
  4084. Yes! Here are mine:
  4085.  
  4086.      .GIF=C:\PICS\VPIC.EXE
  4087.      .MOD=C:\SB\MODS\MP.EXE
  4088.      .ZIP=C:\UTILS\AUTO_UZP.BTM
  4089.      .ARJ=C:\UTILS\AUTO_UZP.BTM
  4090.  
  4091.  As for AUTO_UZP.BTM take a look:
  4092.  
  4093. @ECHO OFF
  4094. SETLOCAL
  4095. CLS
  4096. SET fname=%1
  4097. ECHO AUTO_UZP - CelestialWare
  4098. ECHO Automatic DeArchiving of %fname
  4099. ECHO.
  4100. INKEY /w10 /k"yn" Ready to begin? (Y/N) %%opt
  4101. IF "%opt"=="n" CANCEL
  4102. SET EXT=%@ext[%1]
  4103. IFF "%ext"=="ZIP" THEN
  4104.  C:\UTILS\COMP\PKUNZIP %FNAME C:\STORAGE\TEMP
  4105.  GOTO FIN
  4106. ELSEIFF "%ext"=="ARJ" THEN
  4107.  C:\UTILS\COMP\ARJ E %FNAME C:\STORAGE\TEMP
  4108.  GOTO FIN
  4109. ENDIFF
  4110. ECHO File is not a PKZip or ARJ file!!
  4111. CANCEL
  4112. :FIN
  4113. ECHO.
  4114. ECHO %1 is now ready for use!
  4115. ECHO CelestialWare thanks you for using AUTO_UZP...
  4116. ENDLOCAL
  4117. CDD C:\STORAGE\TEMP
  4118.  
  4119.  
  4120.  Neat, huh? I thought so. <G>
  4121.  
  4122.  GT
  4123. ---
  4124.  ■ OLX 2.1 TD ■ I used to have a handle on life, then DOS closed it
  4125.  ■ RNet 1.07R: The MATRIX  Birmingham, AL (205) 323-2016
  4126.      
  4127. PCRelay:DCINFO -> #16 MetroLink International Network
  4128. 4.10              DC Info Exchange MetroLink International Hub
  4129.           
  4130.  
  4131. ------------------------------------------------------------------------
  4132.  
  4133. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  4134.  
  4135.  BBS: ASTRIX          Conference: 4DOS            Imported:  6/10/1992
  4136.   To: MIKE HANEWINCKEL                Num: 13043      Date:  6/06/1992
  4137. From: GEOFF TAYLOR                     Re: 0          Time:  8:37 pm
  4138. Subj: le.bat                         Prvt: N          Read: N
  4139.  
  4140. MH-}I have about a zillion and one shell variables and aliases that I like to
  4141. MH-}have set when I boot up. I could set each one in my AUTOEXEC.BAT file,
  4142. MH-}but that is much to slow. Instead, I have devised two batch files called
  4143. MH-}SE.BAT (Save_environment) and LE.BAT (load_environment).
  4144.  
  4145.  This is what I use...
  4146.  
  4147. SETLOCAL
  4148. CD  C:\SYSTEM
  4149. CLS
  4150. ECHO.
  4151. ECHO CelestialWare Multi-Configuration v1.50
  4152. ECHO ---------------------------------------
  4153. ECHO.
  4154. SET opt=%@SELECT[mconfig.cwr,3,6,12,32]
  4155. SET opt1=%@SUBSTR[%opt,1,2]
  4156. IFF "%opt" == "" THEN
  4157.    GOTO ABORT
  4158.  ELSEIFF "%opt1"=="MS" THEN
  4159.    SET ext=.msd
  4160.    GOTO WORK
  4161.  ELSEIFF "%opt1"=="DO" THEN
  4162.    SET ext=.max
  4163.    GOTO WORK
  4164.  ELSEIFF "%opt1"=="Pl" THEN
  4165.    SET ext=.pj
  4166.    GOTO WORK
  4167.  ELSEIFF "%opt1"=="Wi" THEN
  4168.    SET ext=.win
  4169.    GOTO WORK
  4170.  ELSEIFF "%opt1"=="Ab" THEN
  4171.    GOTO ABORT
  4172. ENDIFF
  4173. ECHO ERROR! Choices don't match!
  4174. CANCEL
  4175. :WORK
  4176.   GOSUB CHEK
  4177.   COPY /q config%ext c:\config.sys
  4178.   COPY /q autoexec%ext c:\autoexec.bat
  4179.   COPY /q start%ext c:\4dos\4start.btm
  4180.   GOTO FIN
  4181. :CHEK
  4182.   ECHO Now Booting %opt
  4183.   ECHO.
  4184.   inkey /k"yn" Continue (y/n)? %%cnt
  4185.   if "%cnt"=="n" goto ABORT
  4186.     RETURN
  4187. :ABORT
  4188. ECHO.
  4189. ECHO CelestialWare Multi-Configuration ABORTED!
  4190. ECHO Original configuration still set...
  4191. CANCEL
  4192. :FIN
  4193. REBOOT
  4194.  
  4195.  As for mconfig.cwr...
  4196.  
  4197.  MSDOS5.0/QEMM -Standard
  4198.  DOS5 MAX  (no graphics)
  4199.  Windows 3.1   -386Enh
  4200.  Plain Jane   (QEMM OFF)
  4201.  ABORT TO CURRENT CONFIG
  4202.  
  4203.  At one time I did have it change my alias list, set variables, and etc...
  4204.  but I no longer need that so its outta there.
  4205.  
  4206.  GT
  4207. ---
  4208.  ■ OLX 2.1 TD ■ Calm down! Life goes too fast in turbo (50 GigaHertz)
  4209.  ■ RNet 1.07R: The MATRIX  Birmingham, AL (205) 323-2016
  4210.               
  4211. PCRelay:DCINFO -> #16 MetroLink International Network
  4212. 4.10              DC Info Exchange MetroLink International Hub
  4213.           
  4214.  
  4215. ------------------------------------------------------------------------
  4216.  
  4217. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  4218.  
  4219.  BBS: ESCMAIL         Conference: 4dos(ECHO)      Imported:  6/10/1992
  4220.   To: MURRAY WELLS                    Num: 860        Date:  6/07/1992
  4221. From: WILLIAM HUGHES                   Re:            Time: 11:12 am
  4222. Subj: 4dos Coloured director         Prvt: N          Read: N
  4223.  
  4224. WH>>>> alias `HLDIR set colordir=%1:bright white ^ dir %& ^ set
  4225.        colordir='
  4226. MW>>>  Actually, now that I've mentioned it, I wonder if I could dummy
  4227.        up something with an alias?
  4228. WH>>   heh heh
  4229. MW>    <Laugh> *Very* clever Mr. Hughes....
  4230. MW>    Where were you when I was wading through the manual to kludge
  4231.   >    together an alias that finally does exactly what you suggest?
  4232.  
  4233. Right here... :-)
  4234.  
  4235. MW>    Got any more interesting aliases?
  4236.  
  4237. Dunno if you would call them interesting, but I like these...
  4238.  
  4239. :        Change drive & directory
  4240. :
  4241. A        cdd a:\%1 ^ cls ^ dir /4akmw
  4242. B        cdd b:\%1 ^ cls ^ dir /4akmw
  4243. C        cdd c:\%1 ^ cls ^ dir /4akmw
  4244. D        cdd d:\%1 ^ cls ^ dir /4akmw
  4245. :
  4246. :        Global return to root directory
  4247. :
  4248. HOME     for %a in (c d) %a
  4249. :
  4250. :        Diskcopy
  4251. :
  4252. AA       diskcopy a: a:
  4253. BB       diskcopy b: b:
  4254. :
  4255. :        Exit shell
  4256. :
  4257. X        exit
  4258. :
  4259. :        Alias help file
  4260. :
  4261. ??       list c:\4dos40\alias.lst ^ cls
  4262. :
  4263. :        Update aliases
  4264. :
  4265. UA       unalias * ^ alias /r r:\alias.lst
  4266. :
  4267. :        Send formfeed to printer
  4268. :
  4269. FF       echo %@char[12] > prn
  4270. :
  4271. :        Send linefeed to printer
  4272. :
  4273. LF       echo %@char[13] > prn
  4274. :
  4275.  
  4276.  * SLMR 2.1a * 
  4277.  
  4278. --- MsgToss 2.0b (r)
  4279.  * Origin: Nul 512-615-NUL1 HST/V32b,615-NUL2, NUL3, 1.2Gig (1:387/255)
  4280.  
  4281. ------------------------------------------------------------------------
  4282.  
  4283. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  4284.  
  4285.  BBS: ESCMAIL         Conference: 4dos(ECHO)      Imported:  6/10/1992
  4286.   To: ED BLACKMAN                     Num: 862        Date:  6/07/1992
  4287. From: DAVID COE                        Re:            Time: 10:11 pm
  4288. Subj: New Directory                  Prvt: N          Read: N
  4289.  
  4290. Hello Ed!
  4291.  
  4292.  EB>   A few weeks ago, someone posted two .BTM files for changing to a
  4293.  EB> different directory.  I copied them and messed around with `em for a
  4294.  EB> while, and I think I've made some improvements to the code, so I thought
  4295.  EB> I'd share it with the rest of you.
  4296.  
  4297. I liked yours (ND.BTM) so much I improved upon it further (in my opinion), as
  4298. noted in the comments below.  Thanks, and you're (all) welcome, and I welcome
  4299. all feedback.
  4300.  
  4301. -David
  4302.  
  4303. -+-8<-+--+--+--+--+--+--+--+--+--cut here-+--+--+--+--+--+--+--+--+--+->8-+-
  4304. :
  4305. :                            New Directory!
  4306. :
  4307. :                 A better ChangeDirectory batch file.
  4308. :                Original posted on FidoNet 4DOS echo.
  4309. :                 Modifications by Ed Blackman, 5/92.
  4310. :
  4311. : Further modifications by David Coe  06-07-1992
  4312. : ..assumes DOS FIND and SORT are on your search PATH
  4313. : ..uses %nd% environment variable path for nd.dir and nd.dr1 files
  4314. :     (best to set this to a RAM disk, if possible)
  4315. : ..creates %nd% environment variable (set to C:) if nonexistent
  4316. :     (see previous comment)
  4317. : ..automatically Scans to create nd.dir if it doesn't already exist
  4318. :     (so you don't need to do ND /R before you can use it)
  4319. : ..sorts nd.dir by directory (independent of drive) when created
  4320. :     (so matches for selection appear in alphabetical rather than
  4321. :      diskdrive order)
  4322. : ..allows /R (rescan) as first or second parameter
  4323. :     (so you can rescan and change directory at the same time)
  4324. : ..removes temporary environment variables when done
  4325. :     (just to be nice)
  4326. : ..if user specifies only "\", skips FIND (since all would be found)
  4327. :     (just to save a little time)
  4328. : ..QUITs with errorlevels as follows:
  4329. :     0  =  successfully changed to new directory (or successful /r)
  4330. :     1  =  user hit Esc to cancel selection
  4331. :     2  =  specified directory not found
  4332. :     3  =  ND usage or syntax error
  4333. :
  4334. @ECHO OFF
  4335. :====================================================================
  4336. : This is _probably_ the only line you'll need to customize:
  4337. SET drivelist=C D E
  4338. :====================================================================
  4339.  
  4340. rem If user hasn't set nd path, set it to C:
  4341. IF #%nd% EQ # SET nd=C:
  4342.  
  4343. rem be sure we got exaclty one or two parameters
  4344. IF #%1 EQ # .or. #%3 NE # GOTO USAGE
  4345.  
  4346. IFF #%2 NE # THEN
  4347.   rem got two parameters...one must be "/r"; the other is the
  4348.   rem desired directory
  4349.   IFF #%2 EQ #/r THEN
  4350.     SET dd=%1
  4351.     GOSUB RESCAN
  4352.   ELSEIFF #%1 EQ #/r THEN
  4353.     SET dd=%2
  4354.     GOSUB RESCAN
  4355.   ELSE
  4356.     GOTO USAGE
  4357.   ENDIFF
  4358. ELSE
  4359.   rem got one parameter...must be "/r"  or the desired directory
  4360.   IFF #%1 EQ #/r THEN
  4361.     GOSUB RESCAN
  4362.     QUIT 0
  4363.   ELSE
  4364.     SET dd=%1
  4365.   ENDIFF
  4366. ENDIFF
  4367.  
  4368. rem automatic scan if nd.dir doesn't already exist
  4369. IFF NOT EXIST %nd%\ND.DIR THEN
  4370.   GOSUB RESCAN
  4371. ENDIFF
  4372.  
  4373. IFF %dd%=\ THEN
  4374.   rem user wants to select from list of _all_ directories
  4375.   CLS
  4376.   SET cdir=%@SELECT[%nd%\ND.DIR,4,5,24,75,ND: Select Directory]
  4377. ELSE
  4378.   rem user wants to select from list of matching directories
  4379.   FIND "%@UPPER[%dd%]" < %nd%\ND.DIR > %nd%\ND.DR1
  4380.   TYPE %nd%\ND.DR1 | INPUT %%cdir
  4381.   IFF "%cdir"=="" THEN
  4382.     ECHO.
  4383.     ECHO ND: Directory matching "%@UPPER[%dd%]" was not found.
  4384.     ECHO.
  4385.     GOSUB CLEANUP
  4386.     QUIT 2
  4387.   ENDIFF
  4388.   rem if there is only one match, go to it, otherwise, display the
  4389.   rem list to select from
  4390.   SET ln=%@LINES[%nd%\ND.DR1]
  4391.   IFF %LN% EQ 0 THEN
  4392.     CDD %cdir
  4393.     GOSUB CLEANUP
  4394.     QUIT 0
  4395.   ENDIFF
  4396.   CLS
  4397.   SET cdir=%@SELECT[%nd%\ND.DR1,4,5,24,75,ND: Select Directory]
  4398. ENDIFF
  4399. IFF #%cdir EQ # THEN
  4400.   rem canceled by "Esc" key
  4401.   GOSUB CLEANUP
  4402.   QUIT 1
  4403. ELSE
  4404.   CDD %cdir%
  4405.   GOSUB CLEANUP
  4406.   QUIT 0
  4407. ENDIFF
  4408.  
  4409. :CLEANUP
  4410. IF #%dd% NE # UNSET dd
  4411. IF #%ln% NE # UNSET ln
  4412. IF #%cdir% NE # UNSET cdir
  4413. UNSET drivelist
  4414. RETURN
  4415.  
  4416. :RESCAN
  4417. REM Subroutine to update the list of directories
  4418. TEXT
  4419.  
  4420. ENDTEXT
  4421. PUSHD
  4422. DEL %nd%\ND.DR1 >NUL
  4423. FOR %A IN (%drivelist%) GOSUB SCAN
  4424. TEXT
  4425.  
  4426. Sorting...
  4427. ENDTEXT
  4428. SORT /+3 <%nd%\ND.DR1 >%nd%\ND.DIR
  4429. POPD
  4430. RETURN
  4431.  
  4432. :SCAN
  4433. TEXT
  4434.  
  4435. ENDTEXT
  4436. echo Scanning drive %A:
  4437. *CDD %A:\
  4438. GLOBAL /HIQ (ECHO %@UPPER[%_CWD] >>!%nd%\ND.DR1^ECHOS ■)
  4439. RETURN
  4440.  
  4441. :USAGE
  4442. TEXT
  4443.  
  4444. Usage:  ND [directory name or partial directory name] [/r]
  4445.  
  4446. ENDTEXT
  4447. QUIT 3
  4448.  
  4449. -+-8<-+--+--+--+--+--+--+--+--cut here-+--+--+--+--+--+--+--+--+->8-+-
  4450.  
  4451.  
  4452. --- GoldED 2.40
  4453.  * Origin: Coe's Home (perhaps), Brinklow, MD, USA (1:109/349.838)
  4454.  
  4455. ------------------------------------------------------------------------
  4456.  
  4457. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  4458.  
  4459.  BBS: ASTRIX          Conference: 4DOS            Imported:  6/11/1992
  4460.   To: DEBBIE GORNEY                   Num: 13078      Date:  6/10/1992
  4461. From: DENNIS MCCUNNEY                  Re: 0          Time:  3:13 am
  4462. Subj: Finding a file                 Prvt: N          Read: N
  4463.  
  4464. DG> DG> DM╠æ╣    set whdr=% path[% search[slmr.exe]]
  4465. DG> DG> DM╠æ╣ought to work.  The search routine will find it, and the path fun
  4466. DG> DG> DM╠æ╣will return just the path.
  4467. DG>
  4468. DG> Do you know if there is a way to do this in regular batch. What I would
  4469. DG> like to do is have a command in the beginning of my 4dos batch file that
  4470. DG> would search the path to see if a file exist called 4dos.com. If not
  4471. DG> then display an error message like "4dos.com not found. Program unable
  4472. DG> to execute." I know that I can do this using 4dos, but if they don't
  4473. DG> have 4dos it won't work, that's why I need to use a standard
  4474. DG> batch file command that will function on anyones computer. Is there a
  4475. DG> way to do this?
  4476.  
  4477.     The simplest way to test for 4DOS is to see whether one of the 4DOS
  4478. specific environment variables is set, like %_4VER, which returns the
  4479. 4DOS version number.  If that variable does not exist, you aren't under
  4480. 4DOS.
  4481.  
  4482.     In a more general case, what you want may be doable via a trick:
  4483.  
  4484.     for %%v in (%PATH%) do if exist %v\<program> goto wherever
  4485.  
  4486.     DOS will see the ";" delimiters in the PATH variable as whitespace
  4487. characters, so the FOR loop will take each directory in the PATH in
  4488. turn, and test for the existance of <program> within it.  I believe this
  4489. particular trick is DOS version dependant, and mnot guaranteed to work
  4490. in all cases, but it will give you the idea.
  4491.  
  4492.  
  4493. PCRelay:RUNNINGB -> #3 RelayNet (tm)
  4494. 4.11                Running Board 2126541349/DS/2125191791/HST/
  4495.                                         
  4496. PCRelay:DCINFO -> #16 MetroLink International Network
  4497. 4.10              DC Info Exchange MetroLink International Hub
  4498.           
  4499.  
  4500. ------------------------------------------------------------------------
  4501.  
  4502. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  4503.  
  4504.  BBS: ESCMAIL         Conference: 4dos(ECHO)      Imported:  6/16/1992
  4505.   To: LARRY ADAMS                     Num: 975        Date:  6/13/1992
  4506. From: MORRIS TURPIN                    Re:            Time: 10:45 am
  4507. Subj: Functions                      Prvt: N          Read: N
  4508.  
  4509.  In a message dated Jun 10 at 18:07, Larry Adams of 1:135/54.4
  4510.  wrote to Morris Turpin:
  4511.  
  4512.  LA> Thanks for the response. I appreciate what you have to say.
  4513.  LA> I have been getting into 4dos a little and I see its' capabilities.
  4514.  LA> I still would like to see some more of the uses of the basic 
  4515.  LA> commands.
  4516.  LA> For example, is it possible to ask for confirmation on the move 
  4517.  LA> command?
  4518.  LA> I've been using my old move command which prompts me that a file 
  4519.  LA> exists with the same name, and do I still want to make the move.
  4520.  
  4521. You will find 4DOS is almost infinitely flexible.  To answer your question,
  4522. though, yes, you can ask for confirmation on moves.  The switches allowed
  4523. are:
  4524.  
  4525.           Format:     MOVE  [/C /D /H /N /P /Q /R /S /U] source...
  4526.                       destination
  4527.  
  4528.                       source:  A file or list of files to move.
  4529.                       destination:  The new location for the files.
  4530.  
  4531.                       /C(hanged)                  /Q(uiet)
  4532.                       /D(irectory)                /R(eplace)
  4533.                       /H(idden and system)        /S(ubdirectory tree)
  4534.                       /N(othing)                  /U(pdate)
  4535.                       /P(rompt)
  4536.  
  4537. The ones that will be of interest in your case are:
  4538.  
  4539.                       /P(rompt):  Ask the user to confirm each move by
  4540.                       pressing Y or N.  An N response will skip that
  4541.                       particular file.
  4542.  
  4543.                       /R(eplace):  Prompt for a Y or N response before
  4544.                       overwriting an existing destination file.
  4545.  
  4546. Have a look at the help screen (press F1).  The manual is excellent (all 1MB
  4547. of it).  I keep it compressed on disk for quick reference.  That's where the
  4548. above was captured from, incidentally.
  4549.  
  4550. To give you an example of what 4DOS is capable of, here is a .BTM file to
  4551. calculate and display the julian date:
  4552.  
  4553. JULIAN.BTM
  4554. set doy=%@eval[%@date[%_date]-%@date[1/1/%@substr[%_date,1,-2]]+1]
  4555. set week=%@int[%@eval[%doy/7+1]]
  4556. set lstdigt=%@substr[%_date,1,-1]
  4557. iff %lstdigt eq 1 then ^ set ending=st
  4558.    elseiff %lstdigt eq 2 then ^ set ending=nd
  4559.    elseiff %lstdigt eq 3 then ^ set ending=rd
  4560.    else set ending=th
  4561. endiff
  4562. :: rem the next two lines are on one line
  4563. echo Today is the %doy%%ending day in the %week%%ending week of
  4564. 19%@substr[%_date,1,-2].
  4565. unset doy week ending lstdigt
  4566.  
  4567. It's been a while since I last played with it and I can't swear that all the
  4568. bugs are worked out, but if not you're welcome to fix it up and post it back
  4569. to the echo at large.  Note though that the second and third lines from the
  4570. end are really one line.  Try to do this with COMMAND.COM!
  4571.  
  4572.  
  4573.  
  4574. --- msged 2.06
  4575.  * Origin: Ansi's Escape, Echo Point -- Ottawa, Ontario (1:163/513.2)
  4576.  
  4577. ------------------------------------------------------------------------
  4578.  
  4579. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  4580.  
  4581.  BBS: ESCMAIL         Conference: 4dos(ECHO)      Imported:  6/16/1992
  4582.   To: ALL                             Num: 974        Date:  6/14/1992
  4583. From: CHARLES BUCHANAN                 Re:            Time:  8:51 pm
  4584. Subj: Increment Alias                Prvt: N          Read: N
  4585.  
  4586. Hello All!
  4587.  
  4588. While browsing the great 4dos manual, I was looking for an easy way to
  4589. increment (or decrement) a variable. I saw the calc alias in the manual which
  4590. seemed to be a way to do an increment. So here's what I have :
  4591.  
  4592. inc=`set %1=%@eval[%%1+1]`
  4593. dec=`set %1=%@eval[%%1-1]`
  4594.  
  4595. I know this works if I have something like :
  4596.  
  4597. inc myvar
  4598. dec myvar
  4599.  
  4600. but I don't understand why I have to have the ` at the beginning and end of
  4601. the alias. Is there a better way to do this ?
  4602.  
  4603. Charles
  4604.  
  4605. --- GoldED 2.40+
  4606.  * Origin: Charlie's Hideout (1:3812/10.6)
  4607.  
  4608. ------------------------------------------------------------------------
  4609.  
  4610. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  4611.  
  4612.  BBS: ASTRIX          Conference: 4DOS            Imported:  6/17/1992
  4613.   To: JOHN DURSO                      Num: 13151      Date:  6/12/1992
  4614. From: MIKE HANEWINCKEL                 Re: 0          Time: 11:56 pm
  4615. Subj: auto in start up               Prvt: N          Read: N
  4616.  
  4617. JD> I'd like to do the following if it is possible.  I want to start my
  4618. JD> computer with an electric timer.  If the timer starts the computer,
  4619. JD> it would run a certain program (run.bat), however if the computer
  4620. JD> is turned on by a person (most likely me) I want to be able to
  4621. JD> abort the auto program run and have my menu program called up
  4622. JD> (menu.bat)
  4623. JD>
  4624. JD> In other words, what I'd like to happen is:
  4625. JD>
  4626. JD> 1) Computer turned on (either by me or Timer)
  4627. JD>
  4628. JD> 2) Print to screen
  4629. JD>                                   ┌─It would be nice if this could
  4630. JD>                                   │ be  a count down timer, i.e.
  4631. JD>                                   │ 10 9 8 7 6 5 4 etc.
  4632. JD>                                   │
  4633. JD>                                   │
  4634. JD> AUTOMATIC EXECUTION WILL RUN IN xxxx SECONDS
  4635. JD>
  4636. JD> TYPE ANY KEY TO ABORT AND CALL UP MENU
  4637. JD>
  4638. JD>
  4639. JD> 3) If any key is typed within 120 seconds, it would abort the auto
  4640. JD>     execution and run load up the menu (menu.bat)
  4641. JD>
  4642. JD> 4) However, if nothing is typed in 120 seconds, the auto execution
  4643. JD>    (run.bat) would be run.
  4644. JD>
  4645. JD>
  4646. JD> Can this be done either in 4DOS or MS DOS?
  4647. JD>
  4648. JD> Thanks
  4649. JD>
  4650. JD> John
  4651. JD>
  4652. JD> PS:  IT would be real nice if the Second count down was in big
  4653. JD> numbers (like an 1" high) but thats probablyasking too much.
  4654.  
  4655.  
  4656. I don't know if this is what you are looking for, but here is a 4DOS batch
  4657. file that will count down for the number of seconds that is sent to it as
  4658. it's first parameter.
  4659.  
  4660.         ie. Countdown.btm 30
  4661.  
  4662. will count down for 30 seconds. You can edit it for a fixed number of
  4663. seconds.It will display large ANSI digits on the screen that look similar
  4664. to a liquid crystal clock. It does this by calling a small executable
  4665. program, LCD.EXE. It is one of a number of BIG FONT programs that is
  4666. part of a ZIP file called 'BIGECHO.ZIP' It should not be much trouble
  4667. to locate it in on a local board. In case you can't find it I also
  4668. included the UUENCODE code for it.
  4669.  
  4670.  
  4671.  
  4672. --------------------------------------------------------------
  4673.  
  4674.       REM COUNT.BTM
  4675.  
  4676. setlocal ^setdos /s0:0 ^ CLS BLA on WHI
  4677. SET START=%@Time[%_Time]
  4678. SET COUNT=%1%
  4679. SET OldCOUNT=%COUNT
  4680. ALIAS SCR=SCREEN 2 10 `^` LCD %%COUNT
  4681. SCR
  4682.  
  4683. :Loop
  4684. SET COUNT=%#EVAL[%Start% - %#Time[%_Time]% + %1% ]
  4685. IF %@len[%count]=1 set COUNT=0%count%
  4686. IF %COUNT LT 0 (BEEP 400 10^ GOTO FINISH)
  4687. IF %oldCOUNT NE %COUNT (SET OldCOUNT=%COUNT% ^ SCR)
  4688. GOTO LOOP
  4689.  
  4690. :FINISH
  4691. setdos /s10:100 ^cls
  4692. ENDLOCAL
  4693.  
  4694. ---------------------------------------------------------------
  4695.  
  4696.  
  4697. I didn't quite know how to deal with the cursor. I wanted to
  4698. disable it during the batch file but I know of no way to return
  4699. it to it's original state so I just set it back to the default
  4700. state. I will put the UU code for LCD.COM in the next message.
  4701.  
  4702. Mike
  4703. ---
  4704.  ■ MegaMail 2.10 #0:Press any key to continue or any other key to quit
  4705.  
  4706. PCRelay:PUNKIN -> #284 RelayNet (tm)
  4707.  
  4708.                                                 
  4709.  
  4710. ------------------------------------------------------------------------
  4711.  
  4712. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  4713.  
  4714.  BBS: ASTRIX          Conference: 4DOS            Imported:  6/19/1992
  4715.   To: ALL                             Num: 13204      Date:  6/16/1992
  4716. From: DOUG MACLEAN                     Re: 0          Time:  7:11 am
  4717. Subj: 4DOS and the variable EMS      Prvt: N          Read: N
  4718.  
  4719. Here is a litte use for 4DOS that I use to dyanmically adjust my
  4720. cache to reflect the usage on EMS I have on my system.  I do a lot of
  4721. beta testing so I use BOOT.SYS to permit menu selection of my
  4722. environment on boot up.  One option is the ability to edit a line in
  4723. config.sys at boot time.  I use this to adjust the size of my second
  4724. RAM drive.  I share my EMS between two RAM drives and my cache. The
  4725. problem was to make my autoexec.bat respond to changes in the size of
  4726. this RAM drive.
  4727.  
  4728. device=c:\sys\emm.sys AT D000 208 258 2A8 2B8
  4729. device=c:\sys\himem.sys
  4730. device=c:\sys\mouse.sys
  4731. device=c:\sys\nansi.sys
  4732. device=c:\sys\boot.sys /CX0B /T5 /L25 /U^
  4733. device=BOOT.A /D2
  4734. device=TOP                        ┌────────────────────────────┐
  4735. device=TOP                        │                            │
  4736. device=TOP                        │  ^Select ^Command ^Processor  │
  4737. device=TOP                        │                            │
  4738. device=TOP                        ╘════════════════════════════╛
  4739. device=TOP
  4740. device=BOOT.1 ^M^S-^D^O^S version 5.00
  4741. shell=c:\command.com c:\ /e:850 /p
  4742. device=c:\sys\ramdrive.sys 0510 128 064 /a
  4743. device=c:\sys\ramdrive.sys 3500 128 128 /a
  4744. device=BOOT.SET dostype=msdos
  4745. device=BOOT.2 4^D^O^S version 4.01ß11
  4746. shell=c:\4dos.com
  4747. device=c:\sys\ramdrive.sys  0500 128 064 /a
  4748. device=BOOT.EDIT
  4749. device=c:\sys\ramdrive.sys  2500 128 128 /a
  4750. device=BOOT.SET dostype=4dos
  4751. device=BOOT.B /D5
  4752. device=TOP                           ┌───────────────────────┐
  4753. device=TOP                           │                       │
  4754. device=TOP                           │  ^Select ^Cache ^System  │
  4755. device=TOP                           │                       │
  4756. device=TOP                           ╘═══════════════════════╛
  4757. device=TOP
  4758. device=BOOT.1 ^M^S-^Smart^Drv
  4759. device=c:\sys\smartdrv.sys 1472
  4760. device=BOOT.SET cache=nocache
  4761. device=BOOT.2 ^P^C-^Cache
  4762. device=BOOT.SET cache=pccache
  4763. device=BOOT.3 ^Hyper^Cache 286
  4764. device=c:\bin\hyper286.exe S H OK:11
  4765. device=BOOT.SET cache=nocache
  4766. device=BOOT.4 ^Norton ^Cache
  4767. device=c:\nc\ncache.exe /EXT= /USEHIGH=ON /USEHMA=ON
  4768. device=BOOT.SET cache=nocache
  4769. device=BOOT.5 ^P^C-^Cache for ^Windows 3.1
  4770. device=BOOT.SET cache=wincache
  4771. device=BOOT.END
  4772. buffers=030
  4773. files=030
  4774. lastdrive=z
  4775. stacks=0,0
  4776. break=on
  4777. DOS=HIGH,UMB
  4778.  
  4779. Is my config.sys.  The line following device=BOOT.EDIT is edited each
  4780. time I boot up.  The following is the portion of my autoexec that
  4781. allocates 80% of the remaining EMS to the cache.
  4782.  
  4783. @echo off
  4784. if "%@eval[2+2]" == "4" loadbtm on
  4785. c:\bin\dos col 43
  4786. c:\nc\be sa bold blue on black /CLS
  4787. c:\nc\vl d: "Bin Drv"
  4788. c:\nc\vl e: "Work Drv"
  4789. c:\sys\boot set
  4790. goto %cache%
  4791. :pccache
  4792. c:\bin\pc-cache /IA /IB /SIZEXT=1472
  4793. goto nocache
  4794. :wincache
  4795. goto %dostype%1
  4796. :msdos1
  4797. c:\bin\pc-cache /IA /IB /SIZEXP=1500
  4798. goto nocache
  4799. :4dos1
  4800. c:\bin\pc-cache /IA /IB /SIZEXP=%@int[%@eval[%@ems[K]*.8]]K
  4801. :nocache
  4802.  
  4803. As you can see, I use the 4DOS functions to poll the EMS memory and
  4804. return the proper value.
  4805.  
  4806. Just a little trick I thought could be adapted to other uses.
  4807.  
  4808. Regards,
  4809. Doug
  4810. └─┐
  4811.  
  4812. PCRelay:MOONDOG -> #35 RelayNet (tm)
  4813. 4.11               HUBMOON-MoonDog BBS, Brooklyn,NY 718 692-2498
  4814.                                                                                              
  4815. PCRelay:DCINFO -> #16 MetroLink International Network
  4816. 4.10              DC Info Exchange MetroLink International Hub
  4817.           
  4818.  
  4819. ------------------------------------------------------------------------
  4820.  
  4821. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  4822.  
  4823.  BBS: ASTRIX          Conference: 4DOS            Imported:  6/19/1992
  4824.   To: JOHN DURSO                      Num: 13190      Date:  6/14/1992
  4825. From: PIERRE DARMON                    Re: 0          Time: 11:34 pm
  4826. Subj: auto in start up               Prvt: N          Read: N
  4827.  
  4828. JD>PD>In order to get your countdown feature, you would have to, in a loop, chec
  4829.      >if a key was pressed with "inkey /w0 %%key", display your big numbers,
  4830.      >and check the time before looping again. You would have to test the time
  4831.      >and see if 120s have elapsed since you started. Definitely doable with
  4832.      >the variable %_time and the function %$time (replace $ with at-sign) but
  4833.      >more work.
  4834.  
  4835. JD>Pierre
  4836.  
  4837. JD>Thanks,  How much more work are we talking about here?
  4838.  
  4839. Well actually not as much as I thought. Here is a batch file you call
  4840. with a parameter which is the max number of seconds to wait. It displays
  4841. the count down and wait for a key. If a key is pressed before time is
  4842. out, the count down stops and says a key was pressed, otherwise it says
  4843. no key was pressed. It should be trivial to adapt it to where you need
  4844. it.
  4845.  
  4846. Note that the line with scrput ends with four Alt-255 characters. This is
  4847. just a kludge to print some spaces to erase the remiander of the line.
  4848. This is so the count shows 101, 100, 99, ... rather than 101, 100, 990,
  4849. ...
  4850.  
  4851. ---------------------------
  4852. #echo off
  4853.  
  4854. setlocal
  4855.  
  4856. setend=%#eval[%@time[%_time]+%1]
  4857. set key=
  4858. echo Press a key within %1 seconds
  4859. set row=%_row
  4860. :loop
  4861. set remainder=%#eval[%end-%@time[%_time]]
  4862. iff %remainder gt 0 then
  4863.     inkey /w0 %%key
  4864.     scrput %row 0 %_fg ON %_bg %remainder ∙∙∙∙
  4865.     iff "%key" == "" then
  4866.          goto loop
  4867.     else
  4868.          goto done
  4869.     endiff
  4870. endiff
  4871.  
  4872. :done
  4873. iff "%key" == "" then
  4874.      echo no key pressed within timeout
  4875. else
  4876.      echo key pressed within timeout
  4877. endiff
  4878.  
  4879. endlocal
  4880. ---------------------------
  4881.  
  4882. As far as displaying big numbers, that's up to you. Just replace the line
  4883. with SCRPUT with whatever you please. 4DOS alone can't do that though.
  4884.  
  4885. Pierre Darmon
  4886.  
  4887. PCRelay:ACC -> #4 RelayNet (tm)
  4888.  
  4889.     
  4890.  
  4891. ------------------------------------------------------------------------
  4892.  
  4893. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  4894.  
  4895.  BBS: ASTRIX          Conference: 4DOS            Imported:  6/19/1992
  4896.   To: GEORGE MENO                     Num: 13191      Date:  6/13/1992
  4897. From: GREG VAIDMAN                     Re: 0          Time: 12:20 am
  4898. Subj: here's a sample bat f 1/2      Prvt: N          Read: N
  4899.  
  4900. ╓─────────┤ on 06-10-92 (02:52), george meno said to greg vaidman ├──────────╖
  4901. ║ Greg, I'm interested. For me 4DOS has become a great learning              ║
  4902. ║ experience. I'm not using as many bat files any more.                      ║
  4903. ╙────────┤ and greg vaidman replied on sat, 06-13-1992 at 02:13... ├─────────╜
  4904.  
  4905. well here it is (my optimal copy program). at this time, it requires
  4906. the dos "find" and "sort" commands, but i'm working on a new
  4907. algorithm that doesn't.  it makes major use of a temp file, so make
  4908. sure you have a "tmp" environment variable pointing to a ramdisk.
  4909. i guess this will be broken up over a few entries, but here goes:
  4910.  
  4911.                            ───────────///───────────
  4912.  @echo off
  4913.  setlocal
  4914.  
  4915.  if %_env lt 300 goto outofenv
  4916.  
  4917.  set ocd=06/01/92
  4918.  set ocv=1.31
  4919.  
  4920.  set pgm=%#name[%0]
  4921.  set bot=%#eval[%_rows-1] %@eval[%_columns-1]
  4922.  
  4923.  if %# lt 2 goto syntax
  4924.  set dest=%[%#]
  4925.  if %@removable[%dest]==0 goto syntax
  4926.  
  4927.  set i=0
  4928.  :srcloop
  4929.  set source=%source %#word[%i,%&]
  4930.  set i=%#eval[1+%i]
  4931.  if %i lt %@eval[%#-1] goto srcloop
  4932.  
  4933.  if x%dest==x. set dest=%_cwd
  4934.  
  4935.  set d=%#substr[%dest,%#eval[%@len[%dest]-1]]
  4936.  if x%d ne x\ if x%d ne x: set dest=%dest\
  4937.  
  4938.  set stot=0
  4939.  set files=0
  4940.  
  4941.  iff "%ocopy"=="" then
  4942.      set ocopy=move
  4943.  else
  4944.      set ocopy=%@lower[%ocopy]
  4945.  endiff
  4946.  
  4947.  set  ofile=%#full[%#unique[%tmp]]
  4948.  set ofile2=%#full[%@unique[%tmp]]
  4949.  del %ofile >& nul
  4950.  echos please wait.  processing source files
  4951.  for %%i in ( %source ) do gosub process
  4952.  iff %files==0 then
  4953.      echo\
  4954.      echo error: no files found to process! aborting...
  4955.      goto quit
  4956.  endiff
  4957.  
  4958.  type %ofile | sort /r >! %ofile2
  4959.  del %ofile >& nul
  4960.  ren %ofile2 %ofile >& nul
  4961.  
  4962.  set i=%#line[%ofile,%@lines[%ofile]]
  4963.  set smallest=%#eval[%@substr[%i,0,10]]
  4964.  
  4965.  cls whi on blue
  4966.  drawbox   02 09 17 69 0 cya on cya fill cya shadow
  4967.  drawbox   03 11 16 67 2 whi on cya
  4968.  scrput    04 20 bri cya on cya ocopy %ocv ■ gregory vaidman ■ %ocd
  4969.  drawhline 05 11 57 1 whi on cya
  4970.  scrput    06 13 bri whi on cya source files:
  4971.  scrput    07 13 bri whi on cya source info:
  4972.  scrput    08 13 bri whi on cya destination:
  4973.  scrput    09 13 bri whi on cya operation:
  4974.  scrput    10 13 bri whi on cya requires:
  4975.  scrput    06 27 bri yel on cya %source
  4976.  scrput    07 27 bri yel on cya %files files, %#int[%@eval[%stot/1024+.5]]k
  4977.  scrput    08 27 bri yel on cya %dest
  4978.  scrput    09 27 bri yel on cya %ocopy
  4979.  scrput    11 13 bri whi on cya now processing:
  4980.  drawhline 14 11 57 1 whi on cya
  4981.  
  4982.  :nextdisk
  4983.  
  4984.  drawbox 11 29 13 66 0 cya on cya fill cya
  4985.  set xyz=%#int[%@eval[%stot/1457664+1]] 3½
  4986.  set pdq=%#int[%@eval[%stot/1213952+1]] 5¼
  4987.  scrput  10 27 bri yel on cya approx %xyz or %pdq HD req'd
  4988.  unset xyz pdq
  4989.  drawbox 20 16 22 63 1 whi on mag fill mag shadow
  4990.  scrput  21 19 bri whi on mag Please insert next disk and press a key...
  4991.  screen 21 61
  4992.  beep 392 1 523 1 659 1 784 1 10 1 659 1 784 1
  4993.  set k=
  4994.  inkey %%k
  4995.  if x%k == x goto cancelled
  4996.  drawbox 15 13 15 65 2 bri yel on cya
  4997.  drawbox 20 01 %bot  0 blu on blu fill blu
  4998.  
  4999. <<MESSAGE TOO LONG -- SOME LINES WERE DELETED>>
  5000.                                                                    
  5001. PCRelay:DCINFO -> #16 MetroLink International Network
  5002. 4.10              DC Info Exchange MetroLink International Hub
  5003.           
  5004.  
  5005. ------------------------------------------------------------------------
  5006.  
  5007. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  5008.  
  5009.  BBS: ASTRIX          Conference: 4DOS            Imported:  6/19/1992
  5010.   To: GEORGE MENO                     Num: 13192      Date:  6/13/1992
  5011. From: GREG VAIDMAN                     Re: 0          Time: 12:20 am
  5012. Subj: here's a sample bat f 2/2      Prvt: N          Read: N
  5013.  
  5014. >>> Continued from previous message
  5015.          scrput  21 27 bri whi on red Press a key to continue...
  5016.          inkey /w5 %%dummy
  5017.      endiff
  5018.      set files=%@eval[%files-1]
  5019.      type %ofile | find /v "%i" >! %ofile2
  5020.      del %ofile >& nul
  5021.      ren %ofile2 %ofile >& nul
  5022.      set duse=%@diskused[%dest,b]
  5023.      drawbox 15 13 15 %#int[%@eval[13.5+52*%duse/%dtot]] 0 bri yel on cya
  5024.      drawbox 11 29 13 66 0 cya on cya fill cya
  5025.      set stot=%@eval[%stot-%fsize]
  5026.      drawbox 07 27 07 66 0 cya on cya fill cya
  5027.      scrput 07 27 bri yel on cya %files files, %#int[%@eval[%stot/1024+.5]]k
  5028.  else
  5029.      scrput 13 29 bri yel on cya SKIPPING
  5030.      set l=%@eval[%l+1]
  5031.  endiff
  5032.  if %l le %files goto nextfile
  5033.  
  5034.  goto quit
  5035.  
  5036.  :process
  5037.  iff exist %i then
  5038.      set sz=%@filesize[%i,b]
  5039.      for %j in ( 3 4 5 6 7 8 9 ) do if %@len[%sz] lt %j set sz= %sz
  5040.      echo %sz : %@full[%i] >>! %ofile
  5041.      set stot=%@eval[%stot+%sz]
  5042.      set files=%@eval[1+%files]
  5043.      echos .
  5044.  endiff
  5045.  return
  5046.  
  5047.  :syntax
  5048.  echo\
  5049.  echo OCopy %ocv ■ Gregory Vaidman ■ %ocd
  5050.  echo\
  5051.  echo Syntax:    %pgm filespec { filespec ... } destination
  5052.  echo\
  5053.  echo Purpose:   ocopy will [copy/move] all the specified files to the
  5054.  echo            destination directory while optimizing disk usage on
  5055.  echo            the destination disk.
  5056.  echo\
  5057.  echo            the distinction between copy and move is made by setting the
  5058.  echo            "ocopy" environment variable.  by setting it to "copy", ocopy
  5059.  echo            will copy the files.  without "ocopy" in the environment, the
  5060.  echo            default is "move".
  5061.  echo\
  5062.  echo            ocopy uses the "tmp" environment variable for its temporary
  5063.  echo            files.  it is strongly recommended that you set up a ramdisk
  5064.  echo            and set the "tmp" environment variable to point to it.
  5065.  echo\
  5066.  goto quit
  5067.  
  5068.  :outofenv
  5069.  echo\
  5070.  echo OCopy %ocv ■ Gregory Vaidman ■ %ocd
  5071.  echo\
  5072.  echo Error!:    out of environment space!  please increase your
  5073.  echo            environment size by changing the "shell" line in
  5074.  echo            your config.sys, or the "environment=" line in
  5075.  echo            your 4dos.ini file.
  5076.  echo\
  5077.  goto quit
  5078.  
  5079.  :cancelled
  5080.  drawbox 19  0 %bot  0 blu on blu fill blu
  5081.  drawbox 19 16 23 63 1 whi on red fill red shadow
  5082.  scrput  21 25 bri whi on red OCopy session cancelled by user
  5083.  goto quit
  5084.  
  5085.  :quit
  5086.  del %ofile %ofile2 >& nul
  5087.  screen %@eval[%_rows-1] 0
  5088.  *quit
  5089.                            ───────────///───────────
  5090.                                                                 OΓεO Vαîδµα∩
  5091.                                                                 ⌡  ⌡
  5092. ---
  5093.  ■ OLX 2.2 ■ General Error Reading John Dvorak
  5094.  
  5095. PCRelay:DATABASE -> #1251 RelayNet (tm)
  5096. 4.11                RelayNet(tm):Data-Base BBS 908-735-2180 <ASP>
  5097.                                                                                      
  5098. PCRelay:DCINFO -> #16 MetroLink International Network
  5099. 4.10              DC Info Exchange MetroLink International Hub
  5100.           
  5101.  
  5102. ------------------------------------------------------------------------
  5103.  
  5104. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  5105.  
  5106.  BBS: ESCMAIL         Conference: 4dos            Imported:  6/20/1992
  5107.   To: CHARLES BUCHANAN                Num: 1027       Date:  6/15/1992
  5108. From: BOB CAMPBELL                     Re:            Time: 12:19 pm
  5109. Subj: Increment Alias                Prvt: N          Read: N
  5110.  
  5111.  > an easy way to increment (or decrement) a variable. I
  5112.  > inc=`set %1=%@eval[%%1+1]`
  5113.  > dec=`set %1=%@eval[%%1-1]`
  5114.  > 
  5115.  > but I don't understand why I have to have the ` at the 
  5116.  > beginning and end of the alias. Is there a better way to 
  5117.  > do this ? 
  5118.  
  5119.  
  5120. I can't help you with the ` but I'd like to share my INC and DEC with you.
  5121.  It allows you to specify how much to inc or dec but it also defaults to 1.
  5122.  Each is on one line of course.
  5123.  
  5124. INC=iff "%2" eq "" then^set %1=%@eval[%[%1]+1]^else^set 
  5125. %1=%@eval[%[%1]+%2]^endiff
  5126.  
  5127. DEC=iff "%2" eq "" then^set %1=%@eval[%[%1]-1]^else^set
  5128. %1=%@eval[%[%1]-%2]^endiff
  5129.  
  5130.  
  5131. --- OPMED 3.00
  5132.  * Origin: 4DOS leaves command.com in awe (1:119/911.1)
  5133. 
  5134. ------------------------------------------------------------------------
  5135.  
  5136. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  5137.  
  5138.  BBS: ESCMAIL         Conference: 4dos            Imported:  6/21/1992
  5139.   To: MAYNARD HOGG                    Num: 1074       Date:  6/19/1992
  5140. From: BRUCE KINGSLAND                  Re:            Time:  3:19 am
  5141. Subj: SUGGESTION FOR MKDIR           Prvt: N          Read: N
  5142.  
  5143. In a message originally
  5144. From: MAYNARD HOGG To: SERGE DELBONO Date: 06-12-92 (15:50) Re: SUGGESTION 4
  5145. MD
  5146. MH* MH>In the next version, could you enhance the MKDIR/MD command so that it
  5147. MH* MH>creates \DOWN\THE\GARDEN\PATH even when the intermediate directories
  5148. MH* MH>DOWN, THE, and GARDEN don't already exist?
  5149.  
  5150. MH* SD>I don't think it's a good idea :
  5151. MH*   >If you misspell something like :
  5152. MH*   >md \down\thee\garden\path
  5153. MH*   >you create a parasite tree in your garden !
  5154.  
  5155. MH* A minor inconvenience since I've written a utility, DELDIR, for
  5156. MH* deleting empty directories from the bottom up. The 4DOS DEL/XS command
  5157. MH* only works from the top down.
  5158.  
  5159. I wrote this alias for deleting entire trees:
  5160. CLN=for %d in (%&) (iff isdir %d then^del /sxyz %d^else^echo %d not
  5161. dir^endiff)
  5162.  
  5163. Regardless of the tree size, it has always performed well for me, even
  5164. on NW drives. But I agree with MH, an MD or COPY that would create the
  5165. tree would be great!
  5166.  
  5167.  
  5168. --- 
  5169.  * Origin: ET/PPCUG BBS 503-625-- 7752 or 2421 Intel 9600EX (1:105/201)
  5170.  
  5171. ------------------------------------------------------------------------
  5172.  
  5173. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  5174.  
  5175.  BBS: ESCMAIL         Conference: 4dos            Imported:  6/23/1992
  5176.   To: TOM HALL                        Num: 1131       Date:  6/20/1992
  5177. From: FURLAN PRIMUS                    Re:            Time:  6:35 pm
  5178. Subj: Eliminating Duplicate Ent      Prvt: N          Read: N
  5179.  
  5180. Hello Tom,
  5181.  
  5182. languaging in a message on <Jun 18 13:18>, in 4DOS, you wrote:
  5183.  
  5184.  TH> I seem to recall that sometime ago someone posted information 
  5185.  TH> here regarding a 4DOS batch file that effectively sorted and 
  5186.  TH> removed duplicate entries from the history list.
  5187.  
  5188.  TH> Does anyone else recall this?  If I'm correct, could someone 
  5189.  TH> re-post that .BTM file?
  5190.  
  5191. here's what i use here (newhist.btm):
  5192.  
  5193. _ _ _ O_/_ _C_U_T_ _H_E_R_E_ _ _ _ _ _ _
  5194.       O \
  5195.  
  5196. history > temp.in
  5197. sortf temp.in unique.in
  5198. awk "$0 != prev { prev = $0; print }" < unique.in > unique.out
  5199. history /f
  5200. history /r unique.out
  5201. del temp.in unique.in unique.out /q
  5202.  
  5203. _ _ _ O_/_ _C_U_T_ _H_E_R_E_ _ _ _ _ _ _
  5204.       O \
  5205.  
  5206. it assumes that you have FSort and AWK as well as 4DOS...
  5207.  
  5208. fl
  5209.  
  5210.  
  5211. --- msgedsq 2.1
  5212.  * Origin: Too much of a good thing can be wonderful. (1:141/590)
  5213.  
  5214. ------------------------------------------------------------------------
  5215.  
  5216. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  5217.  
  5218.  BBS: ASTRIX          Conference: 4DOS            Imported:  6/25/1992
  5219.   To: ALL                             Num: 13313      Date:  6/20/1992
  5220. From: JOHN DURSO                       Re: 0          Time: 11:36 am
  5221. Subj: help in beep loop              Prvt: N          Read: N
  5222.  
  5223. I have a batch file that I run, I'd like it to beep with each loop,
  5224. however, I'd like it to beep louder with each  loop.  Anyone know
  5225. how I could do this?  Thanks     ─────────────────────────────────┐
  5226.                                                                   │
  5227. NOTE: BIGECH is a program to make the numbers big, if you don't   │
  5228. have this program, just remve the name fom that line and it will  │
  5229. use regular numbers, also start off batch  with amount of numbers │
  5230. you want in countdown...   count 120 for a two minute count down  │
  5231.                                                                   │
  5232.                                                               ┌───┘
  5233. John                                                          │
  5234. *******************                                           │
  5235. count.btm                                                     │
  5236. *******************                                           │
  5237. @echo off                                                     │
  5238. setlocal ^setdos /s0:0 ^ CLS                                  │
  5239. SET START=%@Time[%_Time]                                      │
  5240. SET COUNT=%1%top                                              │
  5241. SET OldCOUNT=%COUNT                                           │
  5242. ALIAS SCR=SCREEN 2 10 `^` d:\bigecho %%COUNT                  │
  5243. :loop2                                                        │
  5244. SCR                                                           │
  5245. set key=                                                      │
  5246. inkey /w0 "Press any key for menu within seconds " %%key      │
  5247.                                                               │
  5248. iff "%key" == "" then                                         │
  5249.      beep ────────────────────────────────────────────────────┘
  5250.      goto loop
  5251. else
  5252.      echo rem a key was pressed. Do menu stuff here
  5253.      quit
  5254. endiff
  5255. set key=
  5256.  
  5257.  
  5258. :Loop
  5259. SET COUNT=%#EVAL[%Start% - %#Time[%_Time]% + %1% ]
  5260. IF %@len[%count]=1 set COUNT=0%count%
  5261. IF %COUNT LT 0 (BEEP 400 10^ GOTO FINISH)
  5262. IF %oldCOUNT NE %COUNT (SET OldCOUNT=%COUNT% ^ SCR)
  5263. GOTO LOOP2
  5264.  
  5265. :FINISH
  5266. setdos /s10:100 ^cls
  5267. ENDLOCAL
  5268.  
  5269.                                                                       
  5270. PCRelay:CHANNEL -> #15 RelayNet (tm)
  5271. 4.11               Channel 1 (R) * 617-354-8873 * 80 Lines *
  5272.                              
  5273.  
  5274. ------------------------------------------------------------------------
  5275.  
  5276. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  5277.  
  5278.  BBS: ASTRIX          Conference: 4DOS            Imported:  6/25/1992
  5279.   To: GEORGE MENO                     Num: 13191      Date:  6/13/1992
  5280. From: GREG VAIDMAN                     Re: 0          Time: 12:20 am
  5281. Subj: here's a sample bat f 1/2      Prvt: N          Read: N
  5282.  
  5283. ╓─────────┤ on 06-10-92 (02:52), george meno said to greg vaidman ├──────────╖
  5284. ║ Greg, I'm interested. For me 4DOS has become a great learning              ║
  5285. ║ experience. I'm not using as many bat files any more.                      ║
  5286. ╙────────┤ and greg vaidman replied on sat, 06-13-1992 at 02:13... ├─────────╜
  5287.  
  5288. well here it is (my optimal copy program). at this time, it requires
  5289. the dos "find" and "sort" commands, but i'm working on a new
  5290. algorithm that doesn't.  it makes major use of a temp file, so make
  5291. sure you have a "tmp" environment variable pointing to a ramdisk.
  5292. i guess this will be broken up over a few entries, but here goes:
  5293.  
  5294.                            ───────────///───────────
  5295.  @echo off
  5296.  setlocal
  5297.  
  5298.  if %_env lt 300 goto outofenv
  5299.  
  5300.  set ocd=06/01/92
  5301.  set ocv=1.31
  5302.  
  5303.  set pgm=%#name[%0]
  5304.  set bot=%#eval[%_rows-1] %@eval[%_columns-1]
  5305.  
  5306.  if %# lt 2 goto syntax
  5307.  set dest=%[%#]
  5308.  if %@removable[%dest]==0 goto syntax
  5309.  
  5310.  set i=0
  5311.  :srcloop
  5312.  set source=%source %#word[%i,%&]
  5313.  set i=%#eval[1+%i]
  5314.  if %i lt %@eval[%#-1] goto srcloop
  5315.  
  5316.  if x%dest==x. set dest=%_cwd
  5317.  
  5318.  set d=%#substr[%dest,%#eval[%@len[%dest]-1]]
  5319.  if x%d ne x\ if x%d ne x: set dest=%dest\
  5320.  
  5321.  set stot=0
  5322.  set files=0
  5323.  
  5324.  iff "%ocopy"=="" then
  5325.      set ocopy=move
  5326.  else
  5327.      set ocopy=%@lower[%ocopy]
  5328.  endiff
  5329.  
  5330.  set  ofile=%#full[%#unique[%tmp]]
  5331.  set ofile2=%#full[%@unique[%tmp]]
  5332.  del %ofile >& nul
  5333.  echos please wait.  processing source files
  5334.  for %%i in ( %source ) do gosub process
  5335.  iff %files==0 then
  5336.      echo\
  5337.      echo error: no files found to process! aborting...
  5338.      goto quit
  5339.  endiff
  5340.  
  5341.  type %ofile | sort /r >! %ofile2
  5342.  del %ofile >& nul
  5343.  ren %ofile2 %ofile >& nul
  5344.  
  5345.  set i=%#line[%ofile,%@lines[%ofile]]
  5346.  set smallest=%#eval[%@substr[%i,0,10]]
  5347.  
  5348.  cls whi on blue
  5349.  drawbox   02 09 17 69 0 cya on cya fill cya shadow
  5350.  drawbox   03 11 16 67 2 whi on cya
  5351.  scrput    04 20 bri cya on cya ocopy %ocv ■ gregory vaidman ■ %ocd
  5352.  drawhline 05 11 57 1 whi on cya
  5353.  scrput    06 13 bri whi on cya source files:
  5354.  scrput    07 13 bri whi on cya source info:
  5355.  scrput    08 13 bri whi on cya destination:
  5356.  scrput    09 13 bri whi on cya operation:
  5357.  scrput    10 13 bri whi on cya requires:
  5358.  scrput    06 27 bri yel on cya %source
  5359.  scrput    07 27 bri yel on cya %files files, %#int[%@eval[%stot/1024+.5]]k
  5360.  scrput    08 27 bri yel on cya %dest
  5361.  scrput    09 27 bri yel on cya %ocopy
  5362.  scrput    11 13 bri whi on cya now processing:
  5363.  drawhline 14 11 57 1 whi on cya
  5364.  
  5365.  :nextdisk
  5366.  
  5367.  drawbox 11 29 13 66 0 cya on cya fill cya
  5368.  set xyz=%#int[%@eval[%stot/1457664+1]] 3½
  5369.  set pdq=%#int[%@eval[%stot/1213952+1]] 5¼
  5370.  scrput  10 27 bri yel on cya approx %xyz or %pdq HD req'd
  5371.  unset xyz pdq
  5372.  drawbox 20 16 22 63 1 whi on mag fill mag shadow
  5373.  scrput  21 19 bri whi on mag Please insert next disk and press a key...
  5374.  screen 21 61
  5375.  beep 392 1 523 1 659 1 784 1 10 1 659 1 784 1
  5376.  set k=
  5377.  inkey %%k
  5378.  if x%k == x goto cancelled
  5379.  drawbox 15 13 15 65 2 bri yel on cya
  5380.  drawbox 20 01 %bot  0 blu on blu fill blu
  5381.  
  5382. <<MESSAGE TOO LONG -- SOME LINES WERE DELETED>>
  5383.                                                                    
  5384. PCRelay:DCINFO -> #16 MetroLink International Network
  5385. 4.10              DC Info Exchange MetroLink International Hub
  5386.           
  5387.  
  5388. ------------------------------------------------------------------------
  5389.  
  5390. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  5391.  
  5392.  BBS: ASTRIX          Conference: 4DOS            Imported:  6/25/1992
  5393.   To: GEORGE MENO                     Num: 13192      Date:  6/13/1992
  5394. From: GREG VAIDMAN                     Re: 0          Time: 12:20 am
  5395. Subj: here's a sample bat f 2/2      Prvt: N          Read: N
  5396.  
  5397. >>> Continued from previous message
  5398.          scrput  21 27 bri whi on red Press a key to continue...
  5399.          inkey /w5 %%dummy
  5400.      endiff
  5401.      set files=%@eval[%files-1]
  5402.      type %ofile | find /v "%i" >! %ofile2
  5403.      del %ofile >& nul
  5404.      ren %ofile2 %ofile >& nul
  5405.      set duse=%@diskused[%dest,b]
  5406.      drawbox 15 13 15 %#int[%@eval[13.5+52*%duse/%dtot]] 0 bri yel on cya
  5407.      drawbox 11 29 13 66 0 cya on cya fill cya
  5408.      set stot=%@eval[%stot-%fsize]
  5409.      drawbox 07 27 07 66 0 cya on cya fill cya
  5410.      scrput 07 27 bri yel on cya %files files, %#int[%@eval[%stot/1024+.5]]k
  5411.  else
  5412.      scrput 13 29 bri yel on cya SKIPPING
  5413.      set l=%@eval[%l+1]
  5414.  endiff
  5415.  if %l le %files goto nextfile
  5416.  
  5417.  goto quit
  5418.  
  5419.  :process
  5420.  iff exist %i then
  5421.      set sz=%@filesize[%i,b]
  5422.      for %j in ( 3 4 5 6 7 8 9 ) do if %@len[%sz] lt %j set sz= %sz
  5423.      echo %sz : %@full[%i] >>! %ofile
  5424.      set stot=%@eval[%stot+%sz]
  5425.      set files=%@eval[1+%files]
  5426.      echos .
  5427.  endiff
  5428.  return
  5429.  
  5430.  :syntax
  5431.  echo\
  5432.  echo OCopy %ocv ■ Gregory Vaidman ■ %ocd
  5433.  echo\
  5434.  echo Syntax:    %pgm filespec { filespec ... } destination
  5435.  echo\
  5436.  echo Purpose:   ocopy will [copy/move] all the specified files to the
  5437.  echo            destination directory while optimizing disk usage on
  5438.  echo            the destination disk.
  5439.  echo\
  5440.  echo            the distinction between copy and move is made by setting the
  5441.  echo            "ocopy" environment variable.  by setting it to "copy", ocopy
  5442.  echo            will copy the files.  without "ocopy" in the environment, the
  5443.  echo            default is "move".
  5444.  echo\
  5445.  echo            ocopy uses the "tmp" environment variable for its temporary
  5446.  echo            files.  it is strongly recommended that you set up a ramdisk
  5447.  echo            and set the "tmp" environment variable to point to it.
  5448.  echo\
  5449.  goto quit
  5450.  
  5451.  :outofenv
  5452.  echo\
  5453.  echo OCopy %ocv ■ Gregory Vaidman ■ %ocd
  5454.  echo\
  5455.  echo Error!:    out of environment space!  please increase your
  5456.  echo            environment size by changing the "shell" line in
  5457.  echo            your config.sys, or the "environment=" line in
  5458.  echo            your 4dos.ini file.
  5459.  echo\
  5460.  goto quit
  5461.  
  5462.  :cancelled
  5463.  drawbox 19  0 %bot  0 blu on blu fill blu
  5464.  drawbox 19 16 23 63 1 whi on red fill red shadow
  5465.  scrput  21 25 bri whi on red OCopy session cancelled by user
  5466.  goto quit
  5467.  
  5468.  :quit
  5469.  del %ofile %ofile2 >& nul
  5470.  screen %@eval[%_rows-1] 0
  5471.  *quit
  5472.                            ───────────///───────────
  5473.                                                                 OΓεO Vαîδµα∩
  5474.                                                                 ⌡  ⌡
  5475. ---
  5476.  ■ OLX 2.2 ■ General Error Reading John Dvorak
  5477.  
  5478. PCRelay:DATABASE -> #1251 RelayNet (tm)
  5479. 4.11                RelayNet(tm):Data-Base BBS 908-735-2180 <ASP>
  5480.                                                                                      
  5481. PCRelay:DCINFO -> #16 MetroLink International Network
  5482. 4.10              DC Info Exchange MetroLink International Hub
  5483.           
  5484.  
  5485. ------------------------------------------------------------------------
  5486.  
  5487. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  5488.  
  5489.  BBS: ASTRIX          Conference: 4DOS            Imported:  6/25/1992
  5490.   To: PIERRE DARMON                   Num: 13211      Date:  6/17/1992
  5491. From: REX CONN                         Re: 13141      Time:  7:28 pm
  5492. Subj: IMRPOVING ON COPY              Prvt: N          Read: N
  5493.  
  5494. -> I would like to "replace" 4DOS's COPY by a batch file that would work
  5495. -> the same as the original COPY except when the target files already
  5496. -> exist. Currently COPY's /r switch only prompts for a yes or no. What
  5497. -> I want to add is to display the date and time (and possibly the size)
  5498. -> of the source and target files before I prompt for yes or no.
  5499. ->
  5500. -> Is that feasible with 4DOS current functions. The problem I see right
  5501. -> away is to replicate COPY's handling of wildcards. Otherwise it would
  5502.  
  5503. Use FOR; it uses the same wildcard handling as COPY.  Then put the
  5504. FILEDATE, FILETIME, & FILESIZE variable functions inside a command group
  5505. in the FOR.
  5506.  
  5507.         - Rex
  5508.                                                                                                   
  5509. PCRelay:DCINFO -> #16 MetroLink International Network
  5510. 4.10              DC Info Exchange MetroLink International Hub
  5511.           
  5512.  
  5513. ------------------------------------------------------------------------
  5514.  
  5515. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  5516.  
  5517.  BBS: ASTRIX          Conference: 4DOS            Imported:  6/25/1992
  5518.   To: DEBBIE GORNEY                   Num: 13355      Date:  6/22/1992
  5519. From: MIKE HANEWINCKEL                 Re: 0          Time: 10:35 pm
  5520. Subj: NEW 4DOS                       Prvt: N          Read: N
  5521.  
  5522. DG>What I would like to see is a dir switch that would allow just the
  5523. file
  5524. DG>name (no stats) + the description.  I can do the first but I would
  5525. like
  5526. DG>it to display the description as well for use in a menu that I have
  5527. DG>created using the select command.
  5528.  
  5529. How about this:
  5530.  
  5531. REM DESCDIR.BTM
  5532. REM
  5533. IF NOT ISDIR %1 THEN GOTO ERROR
  5534. SETLOCAL
  5535.  
  5536. :LOOP
  5537. IFF %# GT 0 THEN
  5538.         IF NOT ISDIR %1 GOTO ERROR
  5539.         ECHO Directory - %1
  5540.         FOR %%F IN (%1\*.*) DO (ECHO %@name[%F].%@ext[%F]  t
  5541. t%@descript[%F])
  5542.         SHIFT
  5543.         ECHO.
  5544.         GOTO Loop
  5545. ELSE
  5546.         ENDLOCAL
  5547.         QUIT
  5548.         EXIT
  5549. ENDIFF
  5550.  
  5551. :ERROR
  5552. ECHO USAGE: DESCDIR   directory1  [directory2]  [directory3]
  5553. QUIT -1
  5554. EXIT
  5555.  
  5556. Mike
  5557.  ■ SLMR 2.1a ■ \∙o·,■°∙.┌:"/∙°v■  «───── Tagline debris.
  5558.  
  5559.  
  5560. PCRelay:DOWNEY -> #1435 RelayNet (tm)
  5561. 4.11              The Downey BBS,Downey CA 310-806-2226 v.32bis
  5562.                                           
  5563. PCRelay:DCINFO -> #16 MetroLink International Network
  5564. 4.10              DC Info Exchange MetroLink International Hub
  5565.           
  5566.  
  5567. ------------------------------------------------------------------------
  5568.  
  5569. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  5570.  
  5571.  BBS: ASTRIX          Conference: 4DOS            Imported:  6/25/1992
  5572.   To: JIM LYNCH                       Num: 13331      Date:  6/18/1992
  5573. From: RICHARD AMICK                    Re: 0          Time:  7:21 pm
  5574. Subj: TEE,REDIRECT STDOUT/ERR        Prvt: N          Read: N
  5575.  
  5576.  
  5577. JL│Anyone know if it is possible to redirect STDOUT and STDERR to a
  5578.   │file using 4DOS's >&, and also use TEE so STDOUT and STDERR also
  5579.   │go to the screen?
  5580. At risk of seeming impertinent, why not use:
  5581.  
  5582. foo >& junk^type /p junk
  5583.  
  5584. or the like?
  5585. ---
  5586.  ■ OLX 2.2 ■ Evolution is God's way of issuing updates.
  5587.                                                                                  
  5588. PCRelay:EDSHOME -> #780 RelayNet (tm)
  5589. 4.11               Ed's Home(410)730-2917 DS / (301)854-3076 HST
  5590.                         
  5591.  
  5592. ------------------------------------------------------------------------
  5593.  
  5594. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  5595.  
  5596.  BBS: ESCMAIL         Conference: 4dos            Imported:  6/27/1992
  5597.   To: RUPA SCHOMAKER                  Num: 1201       Date:  6/25/1992
  5598. From: MICHEL LABELLE                   Re:            Time:  6:25 am
  5599. Subj: secondary shell hist           Prvt: N          Read: N
  5600.  
  5601.  Le <06-20-92  21:00>, Rupa Schomaker a ecrit a Michel Labelle  <=-
  5602.  
  5603.  RS> Howdy Michel!
  5604.  MS>  M >> How can I get the secondary shells history to add to the
  5605.  MS>  M >> primary.
  5606.  RS> Hint:  Take a look at the  %@EXEC  command.
  5607.  
  5608.         YES!!  I got it workin automaticly.  Need I show you?  ok.
  5609.  
  5610. =AUTOEXEC.BAT contains this line
  5611. if exist hist.txt del hist.txt /q
  5612.  
  5613. =VARS.TXT
  5614. PROMPT=%@exec[chk]$h$t$_$P $g$s
  5615.  
  5616. =AL.TXT
  5617. CHK=iff exist c:\hist.txt then history /f^history /r c:\hist.txt
  5618. ^del c:\hist.txt /q
  5619.  
  5620. =4EXIT.BTM only line
  5621. history >> c:\hist.txt
  5622.  
  5623. =4START.BTM
  5624. if %_shell ne 0 goto fin
  5625. .
  5626. .
  5627. quit
  5628. :fin
  5629. if exist c:\hist.txt history /r c:\hist.txt
  5630.  
  5631.                                                   I feel good! ...da da da
  5632.  
  5633. ... There's nothing wrong with DOS that 4DOS wouldn't fix.
  5634. ___ Blue Wave/QWK v2.10
  5635.  
  5636. --- TosScan 1.00
  5637.  * Origin: D.M.'s Connection =->*<-= (819)-778-0811: RPG Galore!!!
  5638. (1:163/503)
  5639.  
  5640. ------------------------------------------------------------------------
  5641.  
  5642. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  5643.  
  5644.  BBS: ESCMAIL         Conference: 4dos            Imported:  6/27/1992
  5645.   To: DON HANCOCK                     Num: 1189       Date:  6/22/1992
  5646. From: FABIO FERRERO                    Re:            Time:  5:13 pm
  5647. Subj: Suggestion For Mkdird          Prvt: N          Read: N
  5648.  
  5649. Sunday June 14 1992, Don Hancock wrote to Bill Hayles:
  5650.  
  5651.  >> MH creates \DOWN\THE\GARDEN\PATH even when the intermediate directories
  5652.  >> MH DOWN, THE, and GARDEN don't already exist?
  5653.  BH>> What a good idea!
  5654. Try this btm:
  5655. ---mktree.btm---
  5656. setlocal
  5657. if %# == 0 (
  5658.         echo Usage : MKTREE [d:]pathname
  5659.         quit
  5660. )
  5661. set tmp=%1
  5662. if "%@substr[%tmp,1,1]" == ":" (
  5663.         cdd %@substr[%tmp,0,2] >& NUL
  5664.         if %_? NE 0 (
  5665.                 echo Invalid drive %@substr[%tmp,0,2]
  5666.                 quit
  5667.         )
  5668.         set tmp=%@substr[%tmp,2]
  5669. )
  5670. if "%@substr[%tmp,0,1]" == "\" (
  5671.         cd \
  5672.         set tmp=%@substr[%tmp,1]
  5673. )
  5674. :repeat
  5675. set p=%@index[%tmp,\]
  5676. if %p == -1 goto :last
  5677. md %@substr[%tmp,0,%p] >& NUL
  5678. cd %@substr[%tmp,0,%p] >& NUL
  5679. if %_? NE 0 (
  5680.         echo Error creating %@substr[%tmp,0,%p]
  5681.         quit
  5682. )
  5683. set tmp=%@substr[%tmp,%@eval[%p+1]]
  5684. goto :repeat
  5685. :last
  5686. md %tmp >& NUL
  5687. ---end_cut---
  5688. it create all directories. i.e.
  5689. MKTREE \foo\temp1\minnie
  5690. create (if doesn't exist) \foo, temp1, minnie
  5691. if \foo already exist, create only temp1, minnie, etc.
  5692.  
  5693.     Fabio
  5694.  
  5695. --- GoldEditor
  5696.  * Origin: 4DOS ...simply the best!!! (2:332/407.2001)
  5697.  
  5698. ------------------------------------------------------------------------
  5699.  
  5700. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  5701.  
  5702.  BBS: ESCMAIL         Conference: 4dos            Imported:  6/28/1992
  5703.   To: TOM HALL                        Num: 1229       Date:  6/24/1992
  5704. From: JOHN THOMPSON                    Re:            Time:  2:37 pm
  5705. Subj: Eliminating Duplicate Ent      Prvt: N          Read: N
  5706.  
  5707. TH>  I'm almost positive that I saw a solution done entirely in a 4DOS .BTM
  5708. TH>  file -- or is it not possible to eliminate duplicate entries using 4DOS
  5709. TH>  alone? 
  5710.  
  5711. Is this what you were thinking of?
  5712.  
  5713.      rem *** Batch To Memory (4DOS) program to *** 
  5714.      rem ***   compact the history in memory.  *** 
  5715.      rem 
  5716.      history > C:\__HIST.TMP 
  5717.      compact C:\__HIST.TMP 
  5718.      history /f 
  5719.      history /r C:\__HIST.TMP 
  5720.      del /q C:\__HIST.TMP 
  5721.  
  5722.  
  5723.  * KingQWK 1.05 # 39 * John.Thompson@f631.n139.z1.fidonet.org
  5724. --- SuperQWK 1.16-B (Reg)
  5725.  * Origin: APPLEGATE; "You got the right one baby, UH HUH!" (1:139/631)
  5726.  
  5727. ------------------------------------------------------------------------
  5728.  
  5729. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  5730.  
  5731.  BBS: ASTRIX          Conference: 4DOS            Imported:  6/29/1992
  5732.   To: ERIK JACKLEY                    Num: 13465      Date:  6/28/1992
  5733. From: KEN HAVERLY                      Re: 0          Time: 12:21 pm
  5734. Subj: ansi...                        Prvt: N          Read: N
  5735.  
  5736. > Anybody get my message last week??
  5737.  
  5738. No.
  5739.  
  5740. > Well I just wanna know. How do you assign Alt-., (that's Alt-<period>),
  5741. > to be a "*"??
  5742.  
  5743. After ANSI is loaded (like in your autoexec.bat) input a line that says:
  5744.  
  5745. echo e[0;52;42p
  5746.  
  5747. If it doesn't make it through the net, the character before the e is a
  5748. Control-X (looks like an up-arrow)...
  5749.  
  5750. ---
  5751.  ■ PQ-Under-Trial 2.15 ■
  5752.  
  5753. PCRelay:CHANNEL -> #15 RelayNet (tm)
  5754.                                                                                                              
  5755. PCRelay:DCINFO -> #16 MetroLink International Network
  5756. 4.10              DC Info Exchange MetroLink International Hub
  5757.           
  5758.  
  5759. ------------------------------------------------------------------------
  5760.  
  5761. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  5762.  
  5763.  BBS: ASTRIX          Conference: 4DOS            Imported:  6/29/1992
  5764.   To: JOHAN SELAND                    Num: 13444      Date:  6/28/1992
  5765. From: DENNIS MCCUNNEY                  Re: 0          Time:  3:15 am
  5766. Subj: INVERT COLORS                  Prvt: N          Read: N
  5767.  
  5768. JS> I was wondering if it was possible to have bright colors in the
  5769. JS> background? Do I need a new ansi driver for this, or what?
  5770.  
  5771.     Try this:
  5772.  
  5773. : BRIGHT.BAT - turn on bright background colors
  5774.   @echo off
  5775.   set monitor=
  5776.   if '%1'=='' goto Bad
  5777.   for %%V in (C M E c m e) do if %%V==%1 set monitor=%1
  5778.   if '%monitor%'=='' goto Bad
  5779.   echo A100 > d:\tempdbug.scr
  5780.   goto label%monitor%
  5781. :labelC (for CGA)
  5782.   echo MOV DX,3D8 >> d:\tempdbug.scr
  5783.   goto CGAorMono
  5784. :labelM (for Monochrome)
  5785.   echo MOV DX,3B8 >> d:\tempdbug.scr
  5786. :CGAorMono (for CGA and Monochrome)
  5787.   if '%2'=='' echo MOV AL,9 >> d:\tempdbug.scr
  5788.   if not '%2'=='' echo MOV AL,29 >> d:\tempdbug.scr
  5789.   echo OUT DX,AL >> d:\tempdbug.scr
  5790.   goto finish
  5791. :labelE (for EGA)
  5792.   if '%2'=='' echo MOV BL,0 >> d:\tempdbug.scr
  5793.   if not '%2'=='' echo MOV BL,1 >> d:\tempdbug.scr
  5794.   echo MOV AX,1003 >> d:\tempdbug.scr
  5795.   echo INT 10 >> d:\tempdbug.scr
  5796. :finish (for any monitor)
  5797.   echo RET >> d:\tempdbug.scr
  5798.   echo. >> d:\tempdbug.scr
  5799.   echo G >> d:\tempdbug.scr
  5800.   echo Q >> d:\tempdbug.scr
  5801.   debug < d:\tempdbug.scr > NUL
  5802.   del /yq d:\tempdbug.scr
  5803.   REM Delete the next two lines if you don't load ANSI.SYS
  5804.   if '%2'=='' echo This line has a bright background.
  5805.   if not '%2'=='' echo Back to normal.
  5806.   goto end
  5807. :bad
  5808.   echo Call BRIGHT with a command line parameter of C, M, or E,
  5809.   echo C for CGA, M for Monochrome, E for EGA/VGA.  To turn
  5810.   echo off bright background, add another parameter on the
  5811.   echo command line, e.g. "BRIGHT E X".
  5812. :end
  5813.   set monitor=
  5814. : BRIGHT.BAT ends here
  5815.  
  5816.  
  5817. PCRelay:RUNNINGB -> #3 RelayNet (tm)
  5818. 4.11                Running Board 2126541349/DS/2125191791/HST/
  5819.                              
  5820. PCRelay:DCINFO -> #16 MetroLink International Network
  5821. 4.10              DC Info Exchange MetroLink International Hub
  5822.           
  5823.  
  5824. ------------------------------------------------------------------------
  5825.  
  5826. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  5827.  
  5828.  BBS: ASTRIX          Conference: 4DOS            Imported:  6/29/1992
  5829.   To: JOHAN SELAND                    Num: 13461      Date:  6/27/1992
  5830. From: SERGE DELBONO                    Re: 0          Time:  8:13 am
  5831. Subj: INVERT COLORS                  Prvt: N          Read: N
  5832.  
  5833.  Dear Johan Seland :
  5834. On Wednesday, June 24, 1992, you wrote to All Users, speaking about
  5835. "INVERT
  5836. COLORS":
  5837.  
  5838. JS>I was wondering if it was possible to have bright colors in the
  5839. JS>background? Do I need a new ansi driver for this, or what?
  5840.  
  5841. You need to disable blinking (in the video bios) and use the blinking
  5842. attribut for bright background.
  5843.  
  5844. How to disable blinking ?
  5845.  
  5846. Use Int 10h, function 10h, subfonction 03h : (don't run with old CGA)
  5847.  
  5848. to create a little program "noblink.com", use debug :
  5849.  
  5850. c:\>debug
  5851. -a
  5852. xxxx:0100 mov Ax,1003
  5853. xxxx:0103 mov bl,0
  5854. xxxx:0105 int 10h
  5855. xxxx:0107 ret
  5856. xxxx:0108
  5857. -n noblink.com
  5858. -rcx
  5859. CX 0000
  5860. :8
  5861. -w
  5862. Writing 00008 bytes
  5863. -q
  5864. c:\>
  5865.  
  5866. Make a little testing batch :
  5867.  
  5868. @echo off
  5869. noblink
  5870. color blink red on blue
  5871. echo This is red on bright blue
  5872. color bright blink white on yellow
  5873. echo this is bright white on yellow
  5874.  
  5875. You can reenable blinking with a "mode co80".
  5876.  
  5877. <
  5878. _>erge on Friday, June 26, 1992. MakeHead 2.2a. by S.D.
  5879.  
  5880.  * OLX 2.2 * void tag(){ /* no tag */ }
  5881.  ■ SFMail Qwk v3.0
  5882.  
  5883. PCRelay:ALF -> #949 RelayNet (tm)
  5884. 4.11           ∞ ALF BBS ∞ Versailles FRANCE ≡ 33-1-39504698
  5885.                                                               
  5886. PCRelay:DCINFO -> #16 MetroLink International Network
  5887. 4.10              DC Info Exchange MetroLink International Hub
  5888.           
  5889.  
  5890. ------------------------------------------------------------------------
  5891.  
  5892. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  5893.  
  5894.  BBS: ASTRIX          Conference: 4DOS            Imported:  6/29/1992
  5895.   To: JOHN DURSO                      Num: 13395      Date:  6/22/1992
  5896. From: MIKE HANEWINCKEL                 Re: 0          Time:  7:34 pm
  5897. Subj: UU FOR LCD.COM                 Prvt: N          Read: N
  5898.  
  5899. Well l, John they tell me that UU is not the way to go and XX is. So I will
  5900. send it once more, the XX code for LCD.COM...
  5901.  
  5902. -------------------------------------------------------------------------
  5903.    section 1 of xxencode 5.12 of file lcd.com    by R.E.M.
  5904.  
  5905. begin 644 lcd.com
  5906. hi0Aaiac5CwFnNsj29IE17T1zWzWtcU0yT+5wwuK9q922oyiAqEDNInDPIwgB
  5907. h+J-9H2ZIFG-1Pr-m9W+lCHYl63-9Jo3GFG-7PaAi623gP0-GOKRcR5AUIaJn
  5908. hNL7qNKFCPrEUNKtjRKRc64pZPKxmSGGs++auLk5B6QoUYDq9y2xDjfs0+z89
  5909. hmh5dwuLwVzR4Ffw++OqJiV++un8EfNKm2CgvfNKm2CgwfNKm2Ch-fNKm2ChX
  5910. hfNKm2ChYfNKm2ChZfNKm2ChafNKm2566dB5hGbHoQzUnmHDPoSp8R9zFox5h
  5911. hGbGyoRC3qrELoSp8R9bFos1v-b69oSp8REGhZP6EoRAiWcwQ+M1t0bEuAxi1
  5912. hyE7o7h5hGbGLQVzFvIdoZh5HoSp8R7LFox5hGbGIoRC+yk7n5Wu8jmk-f6fM
  5913. hJcjr8zDnd3vfW8k0m61J+1nzRPnfAx5hGbI2fNKm2B5HUDg6Qh9FvIdp-8qJ
  5914. hgV1Fos1v3r90oSp8REGhZP6EoRC-sxw+Vhzfh1D+-fg++JC9q6j6Wx09u6jk
  5915. hWzX9+k+00UE3++++++++-UQ60E20+++1-+I4+++++++++++50+Y80kkBY+++
  5916. huNQ-1I77FoJ1G2wg63NZ++-mQmsUAGsk64BjQ5ZmOKRc++-o647t636iHGtL
  5917. hOKlnPqsUI8VVPaEUEWBHOKoB+U+kAHYsBUcBJLBVNqIuBokUFW-hNLAF83IU
  5918. h9oN052VGPWU87lAb64ZnEVGc65BoKatb64xa18eeLoUDG+GmQKVVQa3XR64Q
  5919. hZJR4NkOxU1k+42paPr6UR4V8Y-E6NKRmPrJHiGIdMW-f+McD84FZNa3pP5Fb
  5920. hR4xGRVVg5agWcJ0uP4ZYK4YiNM1GimwUqm+d9Vc3++2+ZE4yU+0g0g-p+QCg
  5921. hD+po26+7D0xpxumWy+2B+u9t+7+-jWA1jzc-is6+9cc50XUH5W-o4X9YoS+-
  5922. h++7K+z0t2+1nd3t1UTiA+2+-TBio+XDhjWw1xPY8++++gs02596UREe2L+3o
  5923. h1f9QutU+0d0mrkk0ghjB6R19++0+ys-prcD42C9LFIK1zEtwCc16kkWPTc4Z
  5924. hUM4xaM3y3z+EzxjzzwDbzm9l2++qTk2y5+WWEl+651s-1lUwDCRFTk2w4+UF
  5925. hJHx0DE+ErGMY4+jz+STg2wC-tkYID4Pc8270NXk+6ACNjN+jZAAU1kQB4G7a
  5926. hptMV++kMBlFV21wnDn+-Q4uewC+ETqA0s8M-NyTaM5oMqzU-cXnPA2-UQ5lz
  5927. hTBk+Q4-+2+21-lxz5kRupEA-+A+gM4zbgXA--uj6MBg-Slg-2lEDDaAk51Nk
  5928. hBaU65+NXDU3KxBAn13+D4CzgXk+C++IuQ+2A-jw41+3A44VEA5wk4+8nM1fc
  5929. h+Lw-1mFazqMY+C0T1kUQ51syTuKVWkwQ+9zPSEM-0+25mZsD6U216CmP1rwW
  5930. h-0wyG88w+HM7+Hs+Bp7VYdFc3WZ7VUwyJJl++EF-EJ+u1V+-M+BE10Uj20+U
  5931. h++AEsVUc5EE0+U+1-+1WGGdou-EeGECVRkU60+SuzfMk+Ezz0RSU3C-P05B+
  5932. hfw8+4HuPEE--vzuU+DudrH+y+E52tto02+EEdhsvEF+-+j-rrk2U2+3UTTNk
  5933. h+X+Q-G0yyk7+iU9j9jQA-F+DVWPC6-+6-+5vbgA1+Pgn4zA+M+2Sw2Bn233F
  5934. h1Y0ThkK+pF-SKxQELU5E+C-0+F-SE4ys+W+1A5JR22+-2+s-w23jK+Jk-c1c
  5935. hWmg2A8xCI1-+-N+yGIYB+E+2GEIORi--1T1kru+0c0-3FHs2-DS4+G+-E+PU
  5936. hfiw3g223M-+E1n6QIrPC+EU2+G1JBG6U+4---HOm++O+D012Mn+U3Xk+UDo0
  5937. h97ZD6+Gt7nE26+UI6Y2BQMXdzswAHbY74lwV+FyMgY+-5V0dp+9C5lETADI-
  5938. hc0+z+G1mEl+z6+M70-v1Gk6UM-s-RMo1+a+V+joisEAk2+2rT5+k6WEs7Bes
  5939. hZUMkj54X+E0VHoE1M8-bBm3x+G+So1xM+u17jeAk+FqUWE+S+e+yeSi+-U2U
  5940. h6EIOda+V-I0TBUtR+W+G1-6V-H+TIm2-+nwy0v6zABDEEV++i0+p-U+k0kE-
  5941. hcxYDCqs6150LcaA1Q-6SAq3UM43XDUM1YiZjNaM1+Hg0sPwA41mSp5xUnj1D
  5942. hD++w-XsUA6tS+V+k4+k12Dc89lk2A7Gzgq-a31lEnns0M3+029gWI+AUBX+Q
  5943. h11qV+Ft+X5+kC1870--UjLMP+V1cvgGz-6wLE+6ErX++TnAkDX+n0s+-Easv
  5944. h4rvMr5Q9GikqYby+bV-b++4kPzM-Y2Y029DDg++Ec6PN+Z+UtyE022+jDkB+
  5945. h9F28FCmREEARy-w+I-Vykw1+kq6Vw0skA5WWlz3nF79mkkvzhs606DleT47a
  5946. hPr6m-jAE1VjW+3sVq+wOQ+20NgCU2+7+v9AE+h+E-w21k4-iAnAvAt2G2EtX
  5947. hQvVESrxjNq-cLZlgP1s-XcIKL-+s+5k0NHLC4+Ax+Y499k-zM+Hs6WFz+kDg
  5948. hs-HcMqNgV4v1-UkT+PUr24TD5mFED0q-D+3+4nNgBViSRE3C1V9HWkkFF+60
  5949. h23KeLjE0+V1RRk607vqSjus-2DU12DUvbE+EBU5q9vo5Ujsq+l1nukMkxUMk
  5950. hBUBj9k2z-G+kbtvyyZfC+Ts1Ha0aiUI0y+L+5tOp-5sM-eGrEDw4A+HQofE+
  5951. hQBjpE+Ak5k+kKoSUBkD+Bn+zdqg1PXwk-01r-OZoo+vr-I+ByXQ16Dw+ADrT
  5952. hE10xihs26+24MDzSc+PU-N+zOnU1w-w+E9F-AkQUDxQp-I1z-7+M-XHwM+Ok
  5953. hSbxEzkA-+81pO-1k+k4xRms1+E2d+U5E11hiP4li+8+yMkdLTaA1M4+UMnR+
  5954. hMq+-+4acXUBh63+oolUkMk3HEo+yHvG4tU+-AXskA9y4EKwxng1+TVXJvg6E
  5955. hmluSqpY+2+uLGL0E5ayhans-+1EZExjP+461-dKr1zCzk2+cybZUT+Ak5+5U
  5956. hyIQ-o8BV2k-z+R9UMssX4jdj-jKaMF+AM0yOlF+C4lg6QhUE4BVScPCE914g
  5957. h+EoY-Eo+ZHU0nLce+FE2+OgK+BkDQ-gwv4kwoBXE8Klg+0dkq7yBRgU2Dnk-
  5958. 3mkoA-jwA
  5959. +
  5960. end
  5961. sum -r/size 24414/3258 section (from "begin" to "end")
  5962. sum -r/size 57857/2345 entire input file
  5963. ---------------------------------------------------------------
  5964.  
  5965. Hope THAT works,
  5966.    Mike
  5967.  
  5968. ---
  5969.  ■ SLMR 2·1a ■ c│_Σ/\ⁿ│_¡╔╗εss ¡s ⁿε»«┬ ╤° ¡▐\/▌p°Ssiß▐_Σ.
  5970.  
  5971. PCRelay:PUNKIN -> #284 RelayNet (tm)
  5972.                                      
  5973.  
  5974. ------------------------------------------------------------------------
  5975.  
  5976. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  5977.  
  5978.  BBS: ESCMAIL         Conference: 4dos            Imported:  6/29/1992
  5979.   To: ALL                             Num: 1257       Date:  6/27/1992
  5980. From: DAVE DOCKUS                      Re:            Time: 12:33 am
  5981. Subj: aliases                        Prvt: N          Read: N
  5982.  
  5983. Hello All!
  5984.  
  5985. Someone posted an alias for selective copying files. I liked it so much that
  5986. I made a couple of simple changes for a selective move. Here's both of them.
  5987. My thanks to the original author.
  5988.  
  5989. Dave
  5990. Put them in your alias file just the wat they are written here. They work
  5991. great!
  5992.  
  5993.  
  5994.     O/ cut here
  5995. ----O\------------------------------------------------------------------------
  5996.  
  5997.  
  5998.  
  5999. SC=iff "%1" eq "" then^echos Where do you want these files copied to? ^ input
  6000. %%filename^select /o:e copy (*.*) %filename^unset
  6001. filename^else^select=/o:e copy (*.*) %1^endiff
  6002.  
  6003. SM=iff "%1" eq "" then^echos Where do you wamt these files MOVED to? ^ input
  6004. %%filename^select /o:e move (*.*) %filename^unset
  6005. filename^else^select=/o:e move (*.*) %1^endiff
  6006.  
  6007.     O/ cut here
  6008. ----O\------------------------------------------------------------------------
  6009.  
  6010.  
  6011. --- GoldED 2.40+
  6012.  * Origin: "DOC'S" PLACE... (FidoNet 1:157/612.1)
  6013.  
  6014. ------------------------------------------------------------------------
  6015.  
  6016. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  6017.  
  6018.  BBS: ESCMAIL         Conference: 4dos            Imported:  6/29/1992
  6019.   To: TOM HALL                        Num: 1259       Date:  6/27/1992
  6020. From: WILLIAM HUGHES                   Re:            Time:  4:58 pm
  6021. Subj: Eliminating Duplicate          Prvt: N          Read: N
  6022.  
  6023. TH>I'm almost positive that I saw a solution done entirely in a 4DOS .BTM
  6024.   >file -- or is it not possible to eliminate duplicate entries using 4DOS
  6025.   >alone?
  6026.  
  6027. === CUT HERE ===
  6028.  
  6029. :: ------------------------------------------------------------------
  6030. :: File       : DDH.BTM
  6031. :: Purpose    : Delete Duplicate entries from 4DOS History list
  6032. :: Parameters : None
  6033. :: Usage      : DDH <enter>
  6034. :: Comments   : Written in reply to a request by Tom Hall @1:342/1.
  6035. ::              Does not require any external utility, except the
  6036. ::              DOS SORT function.
  6037. :: Author     : William Hughes @1:387/255
  6038. :: Date       : 27 Jun 1992 - 16:15
  6039. :: Copyright  : None
  6040. :: Warranty   : Are you kidding? If it works, fine. If it doesn't
  6041. ::              work, rewrite it. If it still doesn't work, try
  6042. ::              something else. :-)
  6043. :: ------------------------------------------------------------------
  6044. setlocal
  6045. history > history.txt
  6046. sort < history.txt > history.srt
  6047. del history.txt
  6048. set OLN=%@line[history.srt,0]
  6049. set LN=1
  6050. :LOOPLABEL
  6051. set NLN=%@line[history.srt,%LN]
  6052. if "%NLN" NE "%OLN" echo %OLN >> history.new
  6053. set OLN=%NLN
  6054. if "%NLN"=="**EOF**" goto ENDIT
  6055. set LN=%@eval[%LN+1]
  6056. goto LOOPLABEL
  6057. :ENDIT
  6058. history /F
  6059. history /R history.new
  6060. del history.srt
  6061. del history.new
  6062. endlocal
  6063.  
  6064. === CUT HERE ===
  6065.  
  6066. That should work...
  6067.  
  6068. Correction. I shelled out and tried it -- it _does_ work. At least, it
  6069. works on a 286 with MSDOS 5.0 & 4DOS 4.0B1. :-)
  6070.  
  6071.  
  6072.  * SLMR 2.1a * 
  6073.  
  6074. --- MsgToss 2.0b (r)
  6075.  * Origin: Nul 512-615-NUL1 HST/V32b,615-NUL2, NUL3, 1.2Gig (1:387/255)
  6076.  
  6077. ------------------------------------------------------------------------
  6078.  
  6079. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  6080.  
  6081.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/01/1992
  6082.   To: YONG SENG                       Num: 147        Date:  6/29/1992
  6083. From: MORRIS TURPIN                    Re:            Time:  5:28 pm
  6084. Subj: Alias                          Prvt: N          Read: N
  6085.  
  6086. suggestion.  Since the delete command in 4DOS ver 4.xx supports
  6087. sub-directories, why not try:
  6088.  
  6089. ZAP=del /qsyz %1\*.bak *.~*
  6090.  
  6091. This should go down to all sub-directory levels.
  6092.  
  6093.  
  6094. --- msged 2.07
  6095.  * Origin: Ansi's Escape, Echo Point -- Ottawa, Ontario (1:163/140.3)
  6096.  
  6097. ------------------------------------------------------------------------
  6098.  
  6099. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  6100.  
  6101.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/01/1992
  6102.   To: JOERI GOLSTEYN                  Num: 120        Date:  6/26/1992
  6103. From: OLIVIER VANBIERVLIET             Re:            Time: 11:09 am
  6104. Subj: Aliases                        Prvt: N          Read: N
  6105.  
  6106. JG:Hello All!
  6107. Hello Joeri!
  6108.  
  6109. JG:I think I have an idea.. what about everybody writing a message in this
  6110. area
  6111. JG:with there best aliases. So we can make a list of it...
  6112.  
  6113. JG:So everybody in this area can optimize there system...  Since I used 4DOS
  6114. I
  6115. JG:saved LOTS of time.
  6116.  
  6117. I'm not going to comment your aliases, since I haven't tested them yet,
  6118. but I can give you a few of my aliases (they're all simple ones)
  6119.  
  6120. SUPER=superpck /o+ /d+ /q+ /w+ /h+ /t+ /s:2048 /em
  6121.   {enabling the Superpckwik disk cache}
  6122. chrono=`timer ^ %& ^ timer`
  6123.   {very usefull for programmers: if you want to know if
  6124.    your fresh compiled program is faster than the older
  6125.    version (just an example)
  6126.    just type: chrono <program>
  6127.   }
  6128. EBAT=EDIT C:\AUTOEXEC.BAT
  6129. ECON=EDIT C:\CONFIG.SYS
  6130. CD=F:\*
  6131.   {replaces the CD command with my *cd utility, a fuzzy
  6132.    dirchanger}
  6133. RD=F:\* RD
  6134.   {idem for the RD command}
  6135. MD=F:\* MD
  6136.   {idem for the MD command}
  6137. S=SELECT (*.COM;*.EXE;*.BAT;*.BTM) DIR
  6138.   {shows you the executables to run}
  6139. A=CDD A:\
  6140. B=CDD B:\
  6141. C=CDD C:\
  6142. TYPE=LIST
  6143.    {If you have the bad habit to use the TYPE command :-)}
  6144.  
  6145. Friendly greetings,
  6146. Olivier Vanbiervliet
  6147. Bruges, Belgium
  6148. --- 
  6149.  * Origin: Breydel Mail BBS Brugge +32/50-320421 (2:291/903)
  6150.  
  6151. ------------------------------------------------------------------------
  6152.  
  6153. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  6154.  
  6155.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/01/1992
  6156.   To: OLIVIER VANBIERVLIET            Num: 122        Date:  6/28/1992
  6157. From: MORRIS TURPIN                    Re:            Time:  3:43 pm
  6158. Subj: Aliases                        Prvt: N          Read: N
  6159.  
  6160.  In a message dated Jun 26 at 11:09, Olivier Vanbiervliet of 2:291/903
  6161.  wrote to Joeri Golsteyn:
  6162.  
  6163.  OV> EBAT=EDIT C:\AUTOEXEC.BAT
  6164.  OV> ECON=EDIT C:\CONFIG.SYS
  6165.  
  6166. Or, to make it even easier, how about:
  6167.  
  6168.   @ALT-I=ne c:\4dos4\4dos.inir
  6169.   @ALT-A=ne c:\autoexec.batr  
  6170.   @ALT-C=ne c:\config.sysr    
  6171.  
  6172. where "ne" is Norton Editor.  Change the "ne" to the editor of your choice.
  6173.  
  6174.  
  6175. --- msged 2.07
  6176.  * Origin: Ansi's Escape, Echo Point -- Ottawa, Ontario (1:163/140.3)
  6177.  
  6178. ------------------------------------------------------------------------
  6179.  
  6180. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  6181.  
  6182.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/01/1992
  6183.   To: TOM HALL                        Num: 143        Date:  6/29/1992
  6184. From: DAVE MUNHOLLON                   Re:            Time:  4:50 pm
  6185. Subj: Eliminating Duplicate Ent      Prvt: N          Read: N
  6186.  
  6187. Hello Tom!
  6188.  
  6189. Saturday June 27 1992, Tom Hall writes to Tony Dunlap:
  6190.  
  6191.  TH> How do you get 4DOS to read a file, know when EOF is reached, etc.? Is
  6192.  TH> there a way to get 4DOS to read a file line by line?  In other words,
  6193.  TH> how do you control for the value of "n" in the @line[temp1.hst,n]
  6194.  TH> expression?
  6195.  
  6196. Check this little batch out.  It should help answer your questions.
  6197.  
  6198. whatever.bat
  6199. ------------
  6200.  
  6201. setlocal
  6202. set n=0
  6203. :start
  6204.  
  6205. REM increment variable N
  6206. set n=%@eval[%n+1]
  6207.  
  6208. REM set variable for evaluation
  6209. set a=%@line[temp1.hst,%n]
  6210.  
  6211. REM test for END OF FILE and quit if so
  6212. if %a=**EOF** quit
  6213.  
  6214. goto start
  6215.  
  6216. ------------
  6217.  
  6218.  
  6219.        Hope that helps explain it.
  6220.  
  6221.                                -=*Dave
  6222.  
  6223. --- GoldED 2.40
  6224.  * Origin: Jackpot!! Colorado Springs, CO (719) 570-6118 (1:128/86)
  6225.  
  6226. ------------------------------------------------------------------------
  6227.  
  6228. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  6229.  
  6230.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/01/1992
  6231.   To: ALL                             Num: 108        Date:  6/25/1992
  6232. From: MORRIS TURPIN                    Re:            Time:  9:37 pm
  6233. Subj: One-Pass XCOPY btm             Prvt: N          Read: N
  6234.  
  6235. I just threw together a .btm file to copy the contents on one disk to
  6236. another in one pass.  It uses xcopy to copy all files to my RAMdisk, d:,
  6237. prompts the user to remove the source disk and insert the target disk, then
  6238. copies the files back to the target, including the volume name from the
  6239. source.  This file is useful where the size of the files to be copied
  6240. exceeds the available RAM.  Donated to the public domain.  Don't forget to
  6241. change the interim drive and directory (d:\xc below) to suit your own
  6242. needs.
  6243.  
  6244. *****************************************************************
  6245.         XC.BTM
  6246.  
  6247.         setlocal
  6248.  
  6249.         iff "%1" eq "" then
  6250.                 inkey /k"ab" specify drive a: or b: %%drv
  6251.         else
  6252.                 set drv=%@substr[%1,0,1]
  6253.         endiff
  6254.         set floppy=%drv%:
  6255.  
  6256.   :CONTINUE
  6257.  
  6258.         echo.
  6259.         echo Insert Source disk into Drive %@upper[%floppy%]
  6260.         pause
  6261.         if not isdir d:\xc md d:\xc
  6262.  
  6263.         xcopy %floppy% d:\xc /s /e
  6264.         echo %@label[%floppy%] > d:\label.txt
  6265.  
  6266.         echo.
  6267.         echo Remove Source disk and Insert Target Disk
  6268.         pause
  6269.  
  6270.         xcopy d:\xc %floppy% /s /e
  6271.         label %floppy% < d:\label.txt
  6272.  
  6273.         del /sxyzq d:\xc\*.* d:\label.txt
  6274.  
  6275.         set more=
  6276.         inkey Copy another? (y,N) %%more
  6277.         if "%more" eq "y" goto CONTINUE
  6278.  
  6279.         rd d:\xc
  6280.  
  6281. *******************************************************************
  6282.  
  6283.  
  6284. --- msged 2.07
  6285.  * Origin: Ansi's Escape, Echo Point -- Ottawa, Ontario (1:163/140.3)
  6286.  
  6287. ------------------------------------------------------------------------
  6288.  
  6289. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  6290.  
  6291.  BBS: ASTRIX          Conference: 4DOS            Imported:  7/02/1992
  6292.   To: JOHN DURSO                      Num: 13528      Date:  6/29/1992
  6293. From: MARK D. SHADLEY                  Re: 0          Time:  1:42 pm
  6294. Subj: AUTO IN START UP               Prvt: N          Read: N
  6295.  
  6296. JD│ OK, how would I get it to BEEP at a higher frquency with each loop?
  6297.  
  6298. JD│ Say I wanted it to beep freq 20 for 6/18 of second first loop, freq
  6299. JD│ 25 7/18 second in second loop, etc in other words increase freq by
  6300. JD│ 5 and duration by 1/18 of sec in each loop .i.e
  6301.  
  6302. JD│ Beep 20 6                                    Loop 1
  6303. JD│ beep 25 7                                         2
  6304. JD│ beep 30 8                                         3
  6305. JD│ beep 35 9    etc                                  4
  6306.  
  6307. Create variables at the top of the file, ie:
  6308.   set freq=20
  6309.   set dura=6
  6310.  
  6311. Then, at the end of the loop:
  6312.   set freq=%#eval[%freq+5]
  6313.   set dura=%#eval[%dura+1]
  6314.   goto loop
  6315.  
  6316. JD│ How about, if I wanted to do this every X number of loops (lets say
  6317. JD│ every 3rd loop) then how would I go about it?
  6318.  
  6319. JD│ Beep 20 6                                    Loop 1
  6320. JD│ beep 25 7                                         4
  6321. JD│ beep 30 8                                         7
  6322. JD│ beep 35 9    etc                                  10
  6323.  
  6324. Create variables at the top of the file, ie:
  6325.   set freq=20
  6326.   set dura=6
  6327.   set looper=1
  6328.  
  6329. Then, at the end of the loop:
  6330.   set looper=%#eval[%looper+1]
  6331.   if %looper eq 4 .or. %looper eq 7 .or. %looper eq 10 (
  6332.     set freq=%#eval[%freq+5]
  6333.     set dura=%#eval[%dura+1]
  6334.    )
  6335.    goto loop
  6336.  
  6337. I think this will work.
  6338.  
  6339. Mark ->NSTTZ
  6340. ---
  6341.  ■ OLX 2.1 TD ■ Earthquakes are Earth's way of saying, WAKE UP !!!!!!!!!!
  6342.  
  6343. PCRelay:NSTTZ -> #363 RelayNet (tm)
  6344.                                                                                        
  6345.  
  6346. ------------------------------------------------------------------------
  6347.  
  6348. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  6349.  
  6350.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/02/1992
  6351.   To: OLIVIER VANBIERVLIET            Num: 151        Date:  6/29/1992
  6352. From: MICHEL LABELLE                   Re:            Time:  6:29 am
  6353. Subj: Aliases                        Prvt: N          Read: N
  6354.  
  6355.  Le <06-26-92  11:09>, Olivier Vanbiervliet a ecrit a Joeri Golsteyn  <=-
  6356.  
  6357.  OV> JG:Hello All!
  6358.  OV> Hello Joeri!
  6359.  
  6360.  OV> JG:I think I have an idea.. what about everybody writing a
  6361.  OV> message in this area
  6362.  OV> JG:with there best aliases. So we can make a list of it...
  6363.  
  6364. .=..\
  6365.        {back 1 dir}
  6366. -=cdd -
  6367.       {previous dir}
  6368. DIR=*DIR/CJou
  6369. ZAP=del /sxyz
  6370. DISP=*list /s
  6371.            {for when I compound |}
  6372. F2=CALL 50^NCD C:
  6373. QD=c:\utilite\qd.exe
  6374. NCD=c:\norton\ncd.exe
  6375. LIST=c:\utilite\list.exe
  6376. LH*ARC=c:\utilite\lharc.exe %1 -t
  6377. EACH=arj m -sjt -e %@name[%1]  %1
  6378.          {sometimes with select.
  6379.          it arj's then tests then
  6380.          deletes the file}
  6381. CHK=iff exist c:\hist.txt then history /f^history /r c:\hist.txt
  6382. ^del c:\hist.txt /q
  6383.      {new!
  6384.      with 4exit and 4start & PROMPT=%@exec[chk]$h$t$_$P $g$s
  6385.      the primary shell inherits the history from secondary shells}
  6386.  
  6387.         If you need an explanation for any of these.  I'll be more than
  6388. happy to explain.  I love getting mail.
  6389.  
  6390. PS: I got hotkeys pretty well installed.
  6391.                                                                 Later.
  6392.  
  6393. ... What does DOS miss = 4 b4 it.
  6394. ___ Blue Wave/QWK v2.10
  6395.  
  6396. --- TosScan 1.00
  6397.  * Origin: D.M.'s Connection =->*<-= (819)-778-0811: RPG Galore!!!
  6398. (1:163/503)
  6399.  
  6400. ------------------------------------------------------------------------
  6401.  
  6402. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  6403.  
  6404.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/02/1992
  6405.   To: OLIVIER VANBIERVLIET            Num: 171        Date:  6/30/1992
  6406. From: WILLIAM HUGHES                   Re:            Time:  8:52 am
  6407. Subj: Aliases                        Prvt: N          Read: N
  6408.  
  6409. OV>I'm not going to comment your aliases, since I haven't tested them yet,
  6410.   >but I can give you a few of my aliases (they're all simple ones)
  6411.  
  6412. And a few more...
  6413.  
  6414. : Change drive/directory with wide directory display
  6415. A cdd A:\%1 ^ cls ^ dir/wkm4
  6416. B cdd B:\%1 ^ cls ^ dir/wkm4
  6417. . . . and so forth for all drives
  6418.  
  6419. : Quick math
  6420. CAL echo %@eval[%&]
  6421.  
  6422. : Exit DOS Shell
  6423. X exit
  6424.  
  6425. : Update aliases
  6426. UA unalias * ^ alias /r c:\system\4dos.40\alias.lst
  6427.  
  6428. : Formfeed printer
  6429. : Parallel
  6430. FF echo %@char[12] > prn
  6431. : Serial
  6432. FFC echo %@char[12] > com2
  6433.  
  6434. : Linefeed printer
  6435. : Parallel
  6436. LF echo %@char[13] > prn
  6437. : Serial
  6438. LFC echo %@char[13] > com2
  6439.  
  6440.  
  6441.  * SLMR 2.1a * 
  6442.  
  6443. --- MsgToss 2.0b (r)
  6444.  * Origin: Nul 512-615-NUL1 HST/V32b,615-NUL2, NUL3, 1.2Gig (1:387/255)
  6445.  
  6446. ------------------------------------------------------------------------
  6447.  
  6448. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  6449.  
  6450.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/02/1992
  6451.   To: TOM HALL                        Num: 158        Date:  6/29/1992
  6452. From: TONY DUNLAP                      Re:            Time: 10:14 pm
  6453. Subj: Eliminating Duplicate Ent      Prvt: N          Read: N
  6454.  
  6455.  >  TD> then using @line[temp1.hst,n], take the first line and
  6456.  >  TD> see if it equals any of the lines after it. If it
  6457.  
  6458.  > How do you get 4DOS to read a file, know when EOF is reached, etc.? Is
  6459.  > there a way to get 4DOS to read a file line by line?  In other words,
  6460.  > how do you control for the value of "n" in the @line[temp1.hst,n]
  6461.  > expression?
  6462.  
  6463. Here ya go. It could probably use some optimizing (I shelled out of this
  6464. message to write it) but it will work (pretty slow though).
  6465.  
  6466. BTW, Sorting would also be possible using only 4dos functions but the BTM
  6467. would be extremely slow due to the number of times you would have to read
  6468. through the file comparing %@ASCII. I'll let someone else tackle that one.
  6469.  
  6470. Unique.btm
  6471.  
  6472.    setlocal
  6473.    history>hist1.lst
  6474.    set X=0
  6475.    set Z=%@LINES[hist1.lst]
  6476.    :loopX
  6477.    set Y=%@EVAL[%X+1]
  6478.    set add=Y
  6479.    :loopY
  6480.  
  6481.  :: FROM here....
  6482.  
  6483.    if "%@LINE[hist1.lst,%X]%" EQ "%@LINE[hist1.lst,%Y]%" (set add=N ^ goto
  6484. nextX)
  6485.  
  6486.  :: TO here should be on one line
  6487.  
  6488.    if %Y EQ %Z goto nextX
  6489.    set Y=%@EVAL[%Y+1]
  6490.    goto loopY
  6491.    :nextX
  6492.    if %add EQ Y echo %@LINE[hist1.lst,%X]>>hist2.lst
  6493.    set X=%@EVAL[%X+1]
  6494.    if %X NE %Z goto loopX
  6495.    ::if any line equaled the last line, it wouldn't have
  6496.    ::been copied, thus, the last line must be unique. so...
  6497.    echo %@LINE[hist1.lst,%X]>>hist2.lst
  6498.    ::then finishing up...
  6499.    history /f
  6500.    history /r hist2.lst
  6501.    erase hist1.lst
  6502.    erase hist2.lst
  6503.  ::END
  6504.  
  6505. LAter
  6506.  
  6507. ---
  6508.  * Origin: DISCOVER (1:2220/30.1)
  6509.  
  6510. ------------------------------------------------------------------------
  6511.  
  6512. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  6513.  
  6514.  BBS: ASTRIX          Conference: 4DOS            Imported:  7/07/1992
  6515.   To: ALL                             Num: 13543      Date:  6/29/1992
  6516. From: JOAO ALVES                       Re: 0          Time: 10:52 pm
  6517. Subj: GREAT BAT for 4DOS (1/3)       Prvt: N          Read: N
  6518.  
  6519.  
  6520. To create this file, cut the parts join them in file 4INFO15.SCR
  6521. and type the command : DEBUG < 4INFO15.SCR
  6522.  
  6523. <----------- Starts Here (1/3)
  6524. N4INFO15.LZH
  6525. E0100 22 7F 2D 6C 68 35 2D A8 0B 00 00 6C 25 00 00 40
  6526. E0110 0E E1 18 20 01 09 34 49 4E 46 4F 2E 42 41 54 43
  6527. E0120 72 4D 00 00 08 CB 7B 9B D9 B7 22 D6 CC 7A 95 C9
  6528. E0130 30 BE 2A 18 5B D6 59 63 72 59 65 89 44 59 1C 72
  6529. E0140 EC EB 64 71 48 E4 DD DD AA 2D AE C9 F5 91 AD 71
  6530. E0150 B9 CD B7 6E D3 18 F0 2E 0B 43 1B 81 02 30 CC 03
  6531. E0160 13 B8 F0 1D CB DF 7E F9 B6 E4 96 47 7B 4E DE DE
  6532. E0170 B7 BB B9 2F FB FE 04 18 02 04 81 09 18 9C 84 B9
  6533. E0180 18 02 03 08 F0 00 1D BD EE B2 36 DB 8F 85 44 FC
  6534. E0190 0A 91 5A D5 B5 F5 8D E3 3A AA B7 09 5E CD 65 49
  6535. E01A0 B8 4E 94 65 EF 07 EA A7 59 3D 96 FE EB 64 A6 CF
  6536. E01B0 49 5D D7 D6 A2 4F 77 F2 FF 2F BD BF 7F 71 ED 88
  6537. E01C0 3F D0 45 9B 22 78 D7 6B 11 48 9B 6C B6 E3 A4 A2
  6538. E01D0 4D 3F 1B 1E 0F 3B 0D B4 D8 7E BD 01 FC 7D 74 7A
  6539. E01E0 DF 40 83 FF 37 E7 FD BF 7E 88 FC BF 08 03 EA 32
  6540. E01F0 BC A0 FC 3F 28 9C 4E 16 54 00 FF 41 39 0B D0 F1
  6541. E0200 3C 2C 35 85 BE A2 4B CD F1 39 18 68 A6 2B 67 4D
  6542. E0210 97 2E 76 F0 92 84 9D BE 1E 5C 10 13 FD 60 0F B6
  6543. E0220 5C 32 89 61 7C 51 83 D6 6F 29 2D B1 8B 1E A0 A4
  6544. E0230 60 FA 1C 12 E5 F0 4D 30 3F 83 78 3C A0 07 F8 CA
  6545. E0240 CC A2 78 71 B1 2F 39 DF E8 25 86 30 FC 80 F4 51
  6546. E0250 9F 2E 5A 29 4C 0D 5A 29 24 3E 53 CC 0F D5 F4 00
  6547. E0260 FA 8D BC F3 79 3B 42 51 83 E6 81 3E 8C E9 A2 0F
  6548. E0270 9D BC 3E 5C 06 07 AD 8C AE 14 8B 8F FD 97 5B 88
  6549. E0280 1E 9B 6D 61 2B 4E 97 0F AC 9F A1 40 00 9C 09 08
  6550. E0290 3F 82 70 F9 50 30 3D EC 60 09 79 E7 18 E7 7D E0
  6551. E02A0 D4 1C 1F F9 3F 73 3A 7E 38 FC BF 00 03 FA 01 91
  6552. E02B0 03 FE 5C 4E 36 FB 58 68 C4 77 F1 8B 73 AF 83 CD
  6553. E02C0 C5 2E 51 2B 71 07 A5 60 D2 0F A5 41 70 8A 8D B9
  6554. E02D0 84 AE 4A 25 A5 03 D2 D1 5C C0 56 9E 96 62 7E A3
  6555. E02E0 8C 0E 7B 86 45 11 A3 FB 4B 67 D4 2C C3 CC 94 35
  6556. E02F0 FF 7C FF 02 75 BA E9 48 DB 4C F5 92 68 32 D3 CF
  6557. E0300 14 1B C4 EB 7E A3 26 07 B2 C3 5E 6C EA 3C 4B 68
  6558. E0310 1C 64 3C 7A DB 7C 9D 4C 32 C9 1A 28 25 1C 80 54
  6559. E0320 90 AD 74 B0 E3 6D 64 01 79 1D CA BE 00 17 7C 4B
  6560. E0330 7F F1 7F 37 BF F7 07 71 D9 00 D2 7B 9A FA D5 EB
  6561. E0340 13 61 0E 12 F4 AE CF 2A 5B 69 5F D8 25 2A 44 D8
  6562. E0350 9D B0 4E 25 56 54 96 4B E7 7A 08 2C AD 8D 87 41
  6563. E0360 31 BD 83 19 3A 18 64 A4 7D D0 DF F4 3E D6 07 98
  6564. E0370 6D A0 35 FA 0F 07 BB D3 A5 CC DB 26 06 F2 64 5D
  6565. E0380 AC 24 CA E3 78 0A EB A0 7A 0F AB AC 35 80 B0 03
  6566. E0390 85 02 03 33 B5 F6 9E 23 8F B4 D3 0D 62 23 0F 1B
  6567. E03A0 17 02 E3 88 01 E0 C0 97 AF AC 62 1D 46 B0 81 F2
  6568. E03B0 72 34 C5 87 96 75 E5 2D 81 48 B1 36 33 15 49 76
  6569. E03C0 95 66 54 C0 21 74 13 93 D8 CE 51 F6 93 B7 8A E1
  6570. E03D0 00 B8 15 3B 8C 18 2C AE 76 8E 12 30 E5 0F 2A 96
  6571. E03E0 6F 13 89 42 25 3A 61 C6 EA F9 A0 1A 58 61 A6 32
  6572. E03F0 3E D0 6C B4 AC B0 82 07 B4 FB 0E 02 EB A4 3B 69
  6573. E0400 46 39 5A 07 92 C6 BF 49 4E 11 97 00 0F C6 19 39
  6574. E0410 1F 75 E2 02 29 70 AB 82 03 0D 5B 9A 18 79 86 8E
  6575. E0420 9F C4 C9 97 5E CD 72 3C D9 17 80 B5 20 2C 57 CB
  6576. E0430 08 32 BE 80 18 34 99 45 52 E8 27 98 FB 85 1D FE
  6577. E0440 07 DC 70 7D CD BE 26 56 5F 74 88 70 A9 7A 9F 27
  6578. E0450 28 15 FB 86 28 6F C6 84 01 04 D1 13 D6 E2 8B 12
  6579. E0460 B5 8A 48 70 E1 6D DC 85 C9 CB 52 F8 32 E8 BF 36
  6580. E0470 CC 58 5C 77 F8 F6 B5 F5 9D 2B CC B7 81 76 4F B2
  6581. E0480 00 65 28 03 A6 0C ED A1 C3 C8 A5 9E 54 2B 58 42
  6582. E0490 FC 3E 69 D8 AB C9 5E CA 88 5F 01 B3 2D AF 87 9D
  6583. E04A0 EC 84 55 A8 17 DA 27 6A 3F B7 B0 49 6A DB 97 1E
  6584. E04B0 06 EF 6E 0F 82 4C 1C 70 31 77 80 AC E5 D7 D6 4F
  6585. E04C0 92 E0 13 D8 1C CA FB C4 98 1F C3 00 F0 8C F0 0A
  6586. E04D0 C6 49 59 A6 9B 75 E6 19 61 EE B2 7B DA 5D 03 67
  6587. E04E0 06 D0 44 A9 92 1A 08 2E 91 C2 BA 57 3A 41 74 A3
  6588. E04F0 C0 11 0C D9 BC 33 81 F7 88 8E E7 B2 FB 5B 9C 09
  6589. E0500 6D 1D 00 57 A5 CD EE CC 41 08 DF 57 DD DE 8B D9
  6590. E0510 19 81 E5 ED F3 40 97 29 7E 9E EF 8F A3 B3 4B EF
  6591. E0520 77 7D D8 8C 77 53 91 07 60 81 07 45 1E 1D 7D 66
  6592. E0530 3A 3A 01 A5 2C 2B 66 BA CA DB 1D 2A 6A F2 07 80
  6593. E0540 47 28 14 01 08 23 4A 9C 74 82 6C 90 FA D6 E2 A5
  6594. E0550 02 37 8B 3D 53 60 84 BB 75 F5 8A CB A5 D1 B7 5F
  6595. E0560 F5 ED DA C2 04 4E BE B6 17 17 EA E7 6F CE 44 41
  6596. E0570 4F 24 89 26 F0 11 22 21 51 54 01 F6 43 F7 C6 80
  6597. E0580 B8 6B 26 F1 89 64 A4 3A 2A DC 51 E8 AD 44 FD 03
  6598. E0590 F5 18 4E 34 ED 5D 13 7D 29 93 22 37 62 00 A3 43
  6599. E05A0 B0 05 64 B8 09 79 23 40 86 F4 D9 91 9A DE BD 85
  6600. E05B0 76 9E 2B 24 A1 30 C2 68 CC E8 04 13 75 14 49 B7
  6601. E05C0 97 31 49 44 96 5B 68 A6 57 B6 55 58 61 DF 66 AD
  6602. E05D0 A3 AB 29 9B 04 88 07 F1 0C C3 5D 10 AE 76 A1 5D
  6603. E05E0 EA F5 54 08 92 75 E5 29 90 70 3F 5D DB 56 94 B6
  6604. E05F0 0F 1C 6C 9B E0 F8 1E 5B 6A F8 6E 13 CE 28 91 5E
  6605. E0600 4B B6 2C DC DA 88 1D BD A8 1C 1C 73 D8 78 0B 63
  6606. E0610 84 33 83 A0 64 4B F1 6E E7 F6 EE C6 3D 16 85 CD
  6607. E0620 C2 0F E2 7B 67 3D 2C 2B 76 E2 9A 8F 69 F2 1E DE
  6608. E0630 31 E5 AE 2C 4F 8C D0 E4 DF 06 29 08 CE F6 31 34
  6609. E0640 44 15 09 08 25 C2 2A 56 0A 13 87 EB 3A 0D 08 44
  6610. E0650 45 AD E0 D5 AD 52 C5 C8 F5 86 3B 03 07 44 3E 87
  6611. E0660 DE 08 7B 9C 06 8C CD 40 4F 14 80 4F 16 90 27 8A
  6612. E0670 40 22 32 11 3E 77 81 95 21 03 98 89 F1 2C A5 9A
  6613. E0680 AA 55 EC 23 A1 C4 38 3A 34 4C 8A 5F 1A 27 46 46
  6614. E0690 A2 AA DB A3 32 87 42 7D E2 2E F2 8C 47 0D F9 09
  6615. E06A0 C5 13 64 65 1F 48 F3 97 CC 5A C8 CF 76 1F 65 E6
  6616. E06B0 1E 5D DF 30 4A B6 07 88 15 D8 00 7B C2 DB D2 3C
  6617. E06C0 48 00 51 9F A4 87 2B BE D5 E6 0B D5 1B C2 1A 73
  6618. <<MESSAGE TOO LONG -- SOME LINES WERE DELETED>>
  6619.                         
  6620. PCRelay:DCINFO -> #16 MetroLink International Network
  6621. 4.10              DC Info Exchange MetroLink International Hub
  6622.           
  6623.  
  6624. ------------------------------------------------------------------------
  6625.  
  6626. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  6627.  
  6628.  BBS: ASTRIX          Conference: 4DOS            Imported:  7/07/1992
  6629.   To: ALL                             Num: 13544      Date:  6/29/1992
  6630. From: JOAO ALVES                       Re: 0          Time: 10:53 pm
  6631. Subj: GREAT BAT for 4DOS (2/3)       Prvt: N          Read: N
  6632.  
  6633. From previous Message (2/3)
  6634. ------
  6635. E06D0 1E 1A F6 4E 01 EE DD 0B 2F 76 6B 91 EF D7 1F 99
  6636. E06E0 D3 A4 4A 5F 9F 56 DD 2F 97 6E 0F 3B B8 13 2C 0E
  6637. E06F0 A2 B8 02 41 D6 1B C3 21 51 37 E7 00 DB 2A EC EE
  6638. E0700 DC 78 38 56 AE E6 19 08 39 9D C4 1A B7 37 42 20
  6639. E0710 E1 C3 4C 55 35 46 FC F2 42 09 19 1F 22 B3 85 2C
  6640. E0720 3C 07 C1 70 04 E6 D0 3B 23 C7 B3 9F FA B6 74 F9
  6641. E0730 2B D3 B8 66 C8 F2 9F CB 4E D7 7F B6 1D B8 4B 69
  6642. E0740 7C 50 C1 FC 20 C9 55 4B 54 F8 94 8F 65 23 D3 72
  6643. E0750 2E EB D5 5C 63 A4 BA 61 65 C9 4E E2 D5 6B DC E3
  6644. E0760 8E 0C 88 C8 F6 94 EC DC AE 4B 8F E5 CA DB 8F 6A
  6645. E0770 83 18 E5 EA 83 10 00 75 24 EF 1E 63 3D 29 1F 41
  6646. E0780 66 32 14 9F 64 95 57 78 A6 33 D6 AF 61 49 46 71
  6647. E0790 CF 08 FE 69 AC A7 EC 9A B8 76 B7 D3 31 F3 4C 37
  6648. E07A0 44 C7 F3 4C C6 D2 94 85 21 E6 9A AD A5 8D A3 34
  6649. E07B0 E7 FF 7C DE C4 13 DA 1B CF 82 B4 78 3D B3 9F 08
  6650. E07C0 25 EF 93 7F BE 73 E6 40 5C 36 D4 A7 57 C6 0A E6
  6651. E07D0 A2 AA AC 87 0A 7E 0A 76 F9 77 A8 5F BE 77 8D D4
  6652. E07E0 FF C4 DE D2 9A B9 89 CD 51 B6 DE 21 D8 2C 53 60
  6653. E07F0 81 E8 86 34 25 2D 5A 50 06 E3 0E 43 94 B0 72 79
  6654. E0800 16 2C 59 55 87 93 F5 59 5C 71 65 5D 83 28 24 E3
  6655. E0810 57 B3 25 3A 41 27 39 D3 74 4F B6 76 A6 00 6D E5
  6656. E0820 D9 25 C3 73 EE 16 9D CE 24 CD 18 CD 03 BB 17 EC
  6657. E0830 6D 66 0A 4D 90 28 67 5B 38 4E 20 A5 6B 6A 29 DA
  6658. E0840 13 83 17 50 4A 74 81 2B A3 DF 13 48 4A 03 C7 48
  6659. E0850 4A 14 0F 08 4B 13 6E BF CF 0F 71 49 38 7F A3 20
  6660. E0860 A7 42 A4 B2 D9 BA 5C 1B DA 36 3A FA 1C 46 D9 70
  6661. E0870 FF 67 11 0A 39 7F F9 C4 68 0B 88 84 66 77 FF FB
  6662. E0880 95 95 02 6F 4C 91 B9 D3 83 AC B4 4D D5 14 3D 0D
  6663. E0890 0F 03 B7 9C 2D E2 38 5A 1B C7 D6 DD FF 0B 76 9D
  6664. E08A0 BA C2 7E E2 DD 71 70 FF FE ED D3 1F 10 EF A9 BA
  6665. E08B0 23 E2 37 F5 37 3E 96 E5 FA 1A 84 CC B3 13 50 9D
  6666. E08C0 9F 5F D2 C8 B9 DA 3F E1 6A 13 37 4F FD 8D 9E F1
  6667. E08D0 B9 00 23 FF ED 44 13 11 04 CB CE 14 B8 74 26 9B
  6668. E08E0 81 46 BC D4 6F 8C FB 8E FD 78 59 E2 64 2C D1 32
  6669. E08F0 16 59 4E 16 AC 0A 07 F4 D9 67 03 18 0F 45 4A 19
  6670. E0900 08 26 86 99 06 C1 45 86 F0 D0 95 74 EA 33 61 0A
  6671. E0910 A7 9D 66 C6 85 08 0E 00 9F 62 3A 0C 1A A8 4A 36
  6672. E0920 2E 9E 1E DB F2 31 64 4E BE 9C 6E 6A 7A 13 EB 6D
  6673. E0930 E8 6C 9D 05 0E 67 49 3E B2 EE DE 76 51 D5 AB 13
  6674. E0940 C9 D6 31 2F 0A 0D 80 13 0E F3 86 9D C4 EB D7 0D
  6675. E0950 B5 FD B4 47 5C 6E F6 E1 DE BF 13 C4 D8 F2 6C 76
  6676. E0960 20 8C FD F4 E0 CA CC 93 E2 DB 0E 8B 46 DF 46 A6
  6677. E0970 8C 38 B1 F2 0E 43 86 BD 95 A1 24 67 25 B7 36 7E
  6678. E0980 EA 5B 9B 28 A3 0D 19 5A B7 F6 B7 52 05 35 AA 14
  6679. E0990 E7 5F 22 90 2A E6 84 94 67 44 09 2F 71 0B B7 F4
  6680. E09A0 B2 6F 7C 16 56 8D FE 73 12 C1 8D BA 4D 94 66 25
  6681. E09B0 3B D8 1F C6 D5 FD 10 08 DF F9 A0 B4 9F C0 14 4F
  6682. E09C0 BC 29 43 E6 82 ED DF 80 29 77 D2 14 85 97 F5 1A
  6683. E09D0 43 A2 CE CA 5A 81 19 F3 D3 A4 1C A0 46 34 9A 61
  6684. E09E0 5A 65 BE B1 5C C8 C3 41 CA 20 17 16 6A 3A B7 3C
  6685. E09F0 15 EB 2D FE A8 EE 77 41 D3 FA 4D CB E7 0D F7 72
  6686. E0A00 84 98 32 5F F8 E1 9C 33 9E E9 3F 70 13 4E 83 D7
  6687. E0A10 DC 05 2F F1 44 DE 6F F5 A2 6F 3B E9 A2 6F 3B E0
  6688. E0A20 A2 6F EB A3 AB DF 44 5A 7F D3 44 5B 7F E9 A2 2B
  6689. E0A30 43 BF B6 11 88 7F 7F B6 27 07 7F 6C 3F 7F B6 29
  6690. E0A40 E4 EE 8F AA 4E FD BC 5E 21 94 36 8E 9D A8 C9 2D
  6691. E0A50 B8 65 7F 9B A2 AE AE 40 75 DA 0A F2 21 70 6E 4E
  6692. E0A60 40 08 DF 3E E6 1A F2 50 3F 40 E2 42 3D 88 A0 E1
  6693. E0A70 B9 76 A5 C5 86 4D 30 EF 33 11 52 A6 4A 48 C0 B8
  6694. E0A80 79 5E 43 FB FE 1C 8F 63 EA 35 3F 51 88 16 BF B2
  6695. E0A90 2E 36 89 86 C3 F9 E6 D8 85 58 61 95 0D A8 18 4A
  6696. E0AA0 5A A0 49 23 05 A8 63 A5 CD 88 3A C2 E0 85 45 7A
  6697. E0AB0 B5 63 D7 CE 35 3C 7D 52 7A 95 AC 3D 74 B9 FB 51
  6698. E0AC0 58 4A A9 39 5C FE 94 19 0A C9 B0 AD EA 75 39 0F
  6699. E0AD0 CA 5B 47 6A DF 94 58 E7 A8 58 E7 C8 2C 5B F8 8A
  6700. E0AE0 59 F5 0A 59 F4 8A 62 81 84 40 E8 96 26 FE 96 89
  6701. E0AF0 1E 13 10 AB 1A 19 FA 10 4E FF 7D 08 37 BF CF 41
  6702. E0B00 F9 FF F3 A0 F4 7D 34 67 EF EA E2 2B 1D F3 3E 6E
  6703. E0B10 EA C1 21 C4 BC F7 4D 8F 54 E4 DC 4F A8 E7 7D 0B
  6704. E0B20 81 6F 0C AD 0F 4E 20 E6 8F C4 D8 5B AC 3D C9 2C
  6705. E0B30 D3 E6 74 FA 24 92 36 8A 3B 96 B1 14 C2 AD 95 EC
  6706. E0B40 E0 A7 B3 A7 D6 E8 70 A3 99 B5 BA 82 D7 EF FB 10
  6707. E0B50 DB 8F 0E 3D A1 89 7E 37 DB 8B 95 5F 85 5B 75 79
  6708. E0B60 66 07 35 DB FB 88 87 20 E3 FB A2 3E E4 42 D2 D9
  6709. E0B70 CD D0 FB 99 0A E7 20 BC 94 BE 21 A6 61 1C 61 CD
  6710. E0B80 23 03 08 36 D2 DC 80 9F F2 0F 28 9B 4A 46 2D 43
  6711. E0B90 C8 80 5B 46 43 84 15 13 AF 38 06 00 40 75 05 6F
  6712. E0BA0 C7 02 EB 23 81 08 4A 03 8F 70 34 20 70 B8 57 9F
  6713. E0BB0 70 1D 26 89 EE 0B BC 6B CD 3A FA D7 6E 05 49 4A
  6714. E0BC0 24 9C 6B 80 7C BB A0 49 72 B2 15 21 F0 8C 30 CD
  6715. E0BD0 13 60 9D F4 39 DB A9 93 96 1C 8D 7D 65 72 9E F8
  6716. E0BE0 BD 11 C7 DC CC C1 B8 58 77 2B 2B F5 8E 8C D7 A9
  6717. E0BF0 9F 82 E2 CF 52 EE 90 6E D7 BC 1A 30 5C AE E3 0B
  6718. E0C00 C4 00 FB A4 68 BD 5E 9B EC C7 BD 61 B6 0F 89 D0
  6719. E0C10 6B C9 EC B1 E6 0B B9 46 BD EF 4D 64 FC 07 BC 46
  6720. E0C20 37 B9 07 33 A9 B7 D9 C3 06 89 B0 B9 49 80 A3 18
  6721. E0C30 37 F2 E2 71 7C 23 7F 15 C6 F2 1E FB 62 D8 CB 90
  6722. E0C40 8E 8D 85 6F B1 36 58 5B 16 DB 0B CB 55 58 0A F5
  6723. E0C50 8F 3C 6D D5 13 DC FB B4 BB EC B6 4B 6C 73 94 26
  6724. E0C60 CE 7B A1 27 84 27 C9 F0 5C 79 BC BB B8 1B 26 15
  6725. E0C70 C9 C4 BE 45 E5 12 7C F0 43 74 D9 C4 F8 02 17 6F
  6726. E0C80 E7 01 8F C9 6F A5 BC 3C 26 83 85 1B 8F 30 08 57
  6727. E0C90 70 96 82 AE CB F8 86 F3 16 BE B5 30 2F B0 B6 4F
  6728. E0CA0 66 D1 31 3F D6 E8 18 3D 0B F4 8D F0 11 41 AE 17
  6729. E0CB0 13 0E BC 28 F0 6F 9F 0E B4 0E C3 AE DA 26 73 50
  6730. E0CC0 F6 CD 7A AC 2F 6F 1F 20 2F 79 FD 60 22 7A 2D 6C
  6731. E0CD0 68 35 2D DA 03 00 00 DA 09 00 00 40 0E E1 18 20
  6732. <<MESSAGE TOO LONG -- SOME LINES WERE DELETED>>
  6733.                                                        
  6734. PCRelay:DCINFO -> #16 MetroLink International Network
  6735. 4.10              DC Info Exchange MetroLink International Hub
  6736.           
  6737.  
  6738. ------------------------------------------------------------------------
  6739.  
  6740. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  6741.  
  6742.  BBS: ASTRIX          Conference: 4DOS            Imported:  7/07/1992
  6743.   To: ALL                             Num: 13545      Date:  6/29/1992
  6744. From: JOAO ALVES                       Re: 0          Time: 10:55 pm
  6745. Subj: GREAT BAT for 4DOS (3/3)       Prvt: N          Read: N
  6746.  
  6747. From previous Message (3/3)
  6748. ------
  6749. E0D20 2B 3C 06 3C 0C FF FF DD DC DC 52 C4 21 20 26 01
  6750. E0D30 4C 03 3C C6 2E 01 B8 76 E8 DB 69 EE 3E 20 FD FC
  6751. E0D40 C1 8F 3F 50 65 F4 F4 67 0D A2 F0 F2 C9 E6 F0 4A
  6752. E0D50 FD 3B FC E3 E2 FE 13 3E E7 AE 31 16 86 9A 83 EC
  6753. E0D60 77 E4 E0 C2 CD A3 0E F4 EC 2D 05 B6 77 3F 5A A2
  6754. E0D70 B7 34 29 8A D8 B8 D4 05 C3 5C 2B EB C0 10 A0 58
  6755. E0D80 CE D5 7C B1 2E 37 6E 80 54 EA 43 75 15 56 92 B8
  6756. E0D90 06 BA 65 A3 C7 C3 D4 34 89 40 2F F0 93 63 42 9A
  6757. E0DA0 18 B3 E6 CD 87 D3 8E 42 F7 FD 64 CF 98 BC 0F 55
  6758. E0DB0 04 DC 2F C5 04 EF 11 DC A7 8D D1 41 F7 DA AB A1
  6759. E0DC0 82 A8 08 4C E6 FC 91 09 97 08 BD 7A 69 88 82 9B
  6760. E0DD0 50 6B 74 CB 9D 63 31 D6 18 14 D3 00 74 E1 80 EB
  6761. E0DE0 9D 6B 6B 9D 24 D6 2F AC 42 2E 26 1F 05 59 52 8D
  6762. E0DF0 C0 20 2D 98 35 93 3C 18 92 B9 21 4D 5A EE 50 DC
  6763. E0E00 B6 30 AA 4C AC A6 62 60 50 3A CB FC 3F 70 68 F6
  6764. E0E10 46 D7 A4 95 A6 FE 7F EF 96 D4 7E 85 B0 61 6B B2
  6765. E0E20 6A DD 07 47 5F 2D 0B DA 21 39 77 07 36 FA 94 93
  6766. E0E30 2C 9F 56 1F 50 1D 49 10 D2 A8 95 9A 5C 60 2C 9F
  6767. E0E40 B9 0F 1E 7C 41 65 6D 36 24 9D DD B9 3A 8D 82 9F
  6768. E0E50 D8 64 2A BA E7 D5 FF 49 F9 14 F9 92 E7 F4 8F E3
  6769. E0E60 4A DE 3A C5 B1 81 C7 85 7E 43 08 66 73 56 4E 70
  6770. E0E70 E4 D8 F1 9C 5E AD 2C A8 31 39 8E 7F 2D 88 2D 0C
  6771. E0E80 98 D0 56 68 A6 31 5B 75 25 72 BA 70 B5 12 60 6B
  6772. E0E90 8A 91 17 77 3B 20 29 46 7A 9D 3C 7F 97 C2 0C FD
  6773. E0EA0 B8 24 BC 04 D9 A1 7A A8 AC 61 93 2A 20 61 8E 21
  6774. E0EB0 7F 05 E2 2A F1 14 08 DD 04 25 00 5B B5 6F 73 4D
  6775. E0EC0 8E 1D 5B 15 28 FC 28 DB B7 24 9C 52 46 2C 81 B9
  6776. E0ED0 CF EB 85 D7 5B EF 21 57 2A 8C DD ED 77 5D 93 89
  6777. E0EE0 08 38 D0 71 89 FB BA 98 86 C5 3D 5A C4 85 45 A7
  6778. E0EF0 D4 EF EC 2A 6C 55 D8 65 37 9A C5 6F 63 0A 51 99
  6779. E0F00 E4 0E BF 0E F2 FA 4C CB 51 7C 98 83 D9 6A 22 23
  6780. E0F10 67 D8 98 31 2E 72 65 9C 4F 2B 9B 30 B6 04 24 48
  6781. E0F20 9B 0C 81 96 B2 A5 59 8E 86 C1 95 73 D4 85 55 18
  6782. E0F30 C8 C3 5C 6B 27 1A 8C 5B 9E 21 C1 5A 4E 39 46 75
  6783. E0F40 2F 79 D4 C7 34 C4 42 27 58 D1 95 44 A5 BE 72 35
  6784. E0F50 03 6B 6F 9B AE 6B C0 4C 8A 20 20 51 E3 0D 30 E4
  6785. E0F60 35 C0 04 4C 36 A9 6C 20 A6 44 48 75 2D AD 30 40
  6786. E0F70 95 0F 17 37 F4 F1 ED A6 41 C9 CF D9 6D 23 E7 E5
  6787. E0F80 F7 3E 51 87 63 F7 B5 F3 4B 4B 17 C9 C1 73 23 DE
  6788. E0F90 F1 2A CD 74 BE 1C 96 D9 2E 5E EA 82 51 52 3C 55
  6789. E0FA0 C2 C5 A5 55 3B 21 5B 1F 85 64 B6 B0 7E CF ED CA
  6790. E0FB0 2E 82 C8 3C A5 9A 0D 43 BC AA 93 60 8B E9 E4 28
  6791. E0FC0 78 09 BA F0 96 93 46 B7 3E CB B4 4F 7F 7C A7 F4
  6792. E0FD0 EF A5 A5 A4 E4 42 50 69 7A C6 70 2D 39 6C 25 DF
  6793. E0FE0 8B E1 93 0C BD B9 D8 3C 6C D7 19 26 49 0B 37 F5
  6794. E0FF0 CD AE A5 93 5D 9F B7 8C A3 60 A0 A7 66 A7 AA 6A
  6795. E1000 CF 2A E3 21 94 06 D7 A0 6F 17 CF 25 EB C1 F2 94
  6796. E1010 61 8D 70 EB 3D 07 1A D7 37 86 BA B7 F8 9B 8C D0
  6797. E1020 AA 58 E0 E9 5E 91 2C 1A DB B9 AF ED 67 A6 40 F5
  6798. E1030 AA 12 96 A7 94 1F 5A B5 AB C6 1E 7F 39 E2 55 9A
  6799. E1040 A9 26 32 9D FE 3F 42 FF D1 7F CC 19 8B 54 19 94
  6800. E1050 F2 C9 94 09 81 A1 CF 8D 3A 95 66 F9 2E A6 28 64
  6801. E1060 EE EC 3B DF 64 F8 A0 BF 7A F7 88 A7 F9 5C 48 1E
  6802. E1070 EA 08 6C 23 03 4A 9A 67 8C 20 61 B2 E0 BD 63 6B
  6803. E1080 DB 49 65 0A D0 C5 12 F8 2E 9E D5 60 E2 1B 94 59
  6804. E1090 9C 36 D8 86 5F 0C 21 4D B9 1A ED 9B 75 40 76 D3
  6805. E10A0 1A 8D 1A 8B 03 C7 66 7F FD AC 7D A7 9D A2 D0 5A
  6806. E10B0 93 2D 41 77 C3 5E 57 6C A9 E5 A0 68 87 97 D1 E8
  6807. E10C0 BE 9F 15 0D 17 69 07 8F 8B E3 22 71 2D 6C 68 35
  6808. E10D0 2D 1D 02 00 00 43 05 00 00 40 0E E1 18 20 01 09
  6809. E10E0 34 49 4E 46 4F 2E 48 53 54 66 06 4D 00 00 02 0E
  6810. E10F0 63 77 B1 A6 E4 4D EA 55 CE 65 FB 58 65 4C A9 40
  6811. E1100 29 95 33 2C A5 02 A2 6C 12 08 86 D9 85 59 87 12
  6812. E1110 7E 43 96 87 74 DD DD C1 67 8E 5F E9 28 AE CC 73
  6813. E1120 4D 2D 61 6A 46 40 25 8D A6 EF 2F 20 7F F3 03 F0
  6814. E1130 77 42 19 4E B6 25 54 FA 24 5B FE E7 2F 27 04 AB
  6815. E1140 DD 5D 61 6C 98 D6 F3 99 56 FE 57 CB CD F4 1D 87
  6816. E1150 34 E1 A4 67 13 2C 7C 92 30 39 23 09 24 1E B4 8E
  6817. E1160 FF 83 B2 04 B3 82 54 95 70 7E 6C 02 BD 24 83 20
  6818. E1170 66 85 EC 7D BA B3 84 30 03 12 0B A0 4B 8D B4 05
  6819. E1180 0A 4C 62 B5 9D 13 7A 11 9D 9D FA B6 19 1F A5 83
  6820. E1190 D2 A5 0B 48 4A 95 05 29 6A 81 6D 9A 61 5B 0E 94
  6821. E11A0 7B 00 FB 94 22 0F 66 7D E8 88 00 68 C4 24 3A E8
  6822. E11B0 9C D4 F5 7A AC 7E 0E 89 13 BD 77 21 88 36 A6 4E
  6823. E11C0 2A F1 38 C0 4B 39 46 7A 03 1D 69 C1 D1 02 77 81
  6824. E11D0 D8 11 99 01 AC 43 71 C7 78 C9 63 0F 79 D9 B0 3E
  6825. E11E0 60 46 8B 95 EB B2 AD 72 DA F6 17 B3 60 81 B5 9E
  6826. E11F0 73 B2 97 46 D8 D2 89 4F 33 54 5C 93 CF 57 64 69
  6827. E1200 9D 2A 5D 8C 6C 6D 2A 0B A9 10 16 2C 5D 51 B7 3C
  6828. E1210 30 43 73 14 39 A1 D3 C0 A0 BF 2A 26 F8 BA 89 AF
  6829. E1220 5B FA 35 15 D1 35 60 77 D0 4B 1B 4C E9 38 40 F4
  6830. E1230 B5 80 F4 11 3F D2 19 9E 8B 56 37 E2 FA 87 BC 9A
  6831. E1240 BF 68 B2 58 08 C4 95 28 63 61 32 F5 B6 60 3A 03
  6832. E1250 B4 CA AC 1D B8 D3 B4 56 17 49 87 7A ED DE 2C 13
  6833. E1260 FF 81 B1 BB AD 0C 09 5D 43 19 20 FB BF A6 18 33
  6834. E1270 E4 83 57 AC 5F D0 2A 8C 95 CD 30 D4 D4 03 22 4A
  6835. E1280 D9 71 B0 A3 11 E6 46 D2 ED E3 29 39 F1 25 12 0A
  6836. E1290 0A D1 79 EB A5 9E 8B 98 AD 57 3E 12 89 E9 72 1D
  6837. E12A0 8C 66 AC 65 69 4D 0F E1 5F 8C 06 F1 AB C0 4C A1
  6838. E12B0 06 3D 04 37 75 C1 F9 D2 97 0A B5 F1 57 58 40 94
  6839. E12C0 0F 48 61 BB 87 B1 DA DF AF 6E BC 3D 96 AC 61 D7
  6840. E12D0 F2 C1 04 C8 50 FE DA 75 14 B8 BF 82 E8 6B A5 85
  6841. E12E0 E2 40 81 46 E3 A9 35 43 60 E6 E6 F3 05 E9 1F 0F
  6842. E12F0 00 A2 AF 8F 01 1A 84 CC 1A A2 3E 9C 9A 33 3F 89
  6843. E1300 ED 59 02 56 A2 37 40 92 06 7B 80 00
  6844. RCX
  6845. 120C
  6846. <<MESSAGE TOO LONG -- SOME LINES WERE DELETED>>
  6847.                                       
  6848. PCRelay:DCINFO -> #16 MetroLink International Network
  6849. 4.10              DC Info Exchange MetroLink International Hub
  6850.           
  6851.  
  6852. ------------------------------------------------------------------------
  6853.  
  6854. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  6855.  
  6856.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/07/1992
  6857.   To: OLIVIER VANBIERVLIET            Num: 258        Date:  7/02/1992
  6858. From: DOMINIC STRANGE                  Re:            Time:  8:29 pm
  6859. Subj: Aliases                        Prvt: N          Read: N
  6860.  
  6861. Hello Olivier
  6862.  
  6863. OV>I think I have an idea.. what about everybody writing a
  6864. OV>message in this area
  6865. OV>with there best aliases. So we can make a list of it...
  6866.  
  6867. Okey Pokey, here are some simple ones
  6868.  
  6869. DOR=DIR  \_ Standard spelling mistakes <g>
  6870. DUR=DIR  /
  6871.  
  6872. DESCRIBE=SELECT *DESCRIBE(*.*)
  6873.  
  6874. adir=dir %1*.arc;%1*.arj;%1*.zip;%1*.pak;%1*.sdn;%1*.lzh
  6875. edir=dir %1*.exe;%1*.com;%1*.bat;%1*.btm
  6876. vdir=dir %1*.voc
  6877. mdir=dir %1*.cmf;%1*.mod;%1*.rol
  6878.  
  6879. X=EXCEPT (    cos I'm lazy !
  6880.  
  6881.  
  6882. Cheers
  6883.  
  6884. Dominic
  6885.  
  6886.  * SLMR 2.1a * I din't expect the Spanish inquisition...
  6887.  
  6888. --- Maximus 2.01wb
  6889.  * Origin: Golly! = A 4DOS BBS = [+44-734-320812] (2:252/21)
  6890.  
  6891. ------------------------------------------------------------------------
  6892.  
  6893. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  6894.  
  6895.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/07/1992
  6896.   To: JOERI GOLSTEYN                  Num: 293        Date:  6/30/1992
  6897. From: AARON MARASCO                    Re:            Time:  4:40 pm
  6898. Subj: Aliases                        Prvt: N          Read: N
  6899.  
  6900.  On 06-26-92 joeri golsteyn wrote to Joeri Golsteyn...
  6901.  
  6902.  jg> JG:I think I have an idea.. what about everybody writing a  
  6903.  jg> message in this area 
  6904.  jg> JG:with there best aliases. So we can make a list of it... 
  6905.  jg>  
  6906.  jg> JG:So everybody in this area can optimize there system...  Since I used 
  6907.  jg> 4DOS I 
  6908.  jg> JG:saved LOTS of time. 
  6909.  
  6910.  Here's a few, with comments. 
  6911.  
  6912.  MV=select move [*.*] %& {Quick and Dirty mover} 
  6913.  PU*SHD=*pushd           {What can I say, I'm lazy...} 
  6914.  PO*PD=*popd             {Ditto} 
  6915.  BEEP=*beep 440 4 600 2 1040 6 {Copied straight from the NDOS 
  6916.                                  manual} 
  6917.  VOLS=vol C: D: E: G: H: {I have them named ADAMSystem0, 
  6918.                            ADAMSystem1, etc... It looks nice.. 
  6919.                            :)} 
  6920.  RUNS=DIR *.EXE;*.COM;*.BAT;*.BTM;*.BAS 
  6921.                          {For my sister, brother, and mother, 
  6922.                          lists all the files that run. A personal
  6923.                          fav.} 
  6924.  NCD=Swapping Off^D:\Norton\Ncd.Exe %&^Swapping On 
  6925.                          {Norton Change Directory. Want it as 
  6926.                          fast as possible on my 8MHz.} 
  6927.  NAME=*DESCRIBE          {Yet again, I'm lazy} 
  6928.  MAKE=MD %1^Cd %1        {Good when going through C:\MODEM} 
  6929.  ZAP=Echo Y|Del %1 /Z^rd %1 {Ditto} 
  6930.  TP=\ASA\TP\TURBO        {Load Turbo PASCAL real quick} 
  6931.  
  6932.  I know you didn't ask for them, but this is my fav SETs. 
  6933.  
  6934. Set .DOC=Q %1       {Load QEdit on any .DOC} 
  6935. Set .LZH=LHARC E %1  {Auto-extract .LZH} 
  6936. Set .TXT=Q %1        {Load QEdit on any .TXT} 
  6937. Set .ZIP=PKUNZIP %1  {Auto ZIP} 
  6938. Set .PAK=PAK E %1    {Auto PAK} 
  6939. Set .ARJ=ARJ E %1    {Auto ARJ} 
  6940. Set .ANS=TYPE %1     {LIST doesn't support ANSI [YET!?!?!]} 
  6941. set DIRCMD = /4 /O:N /J /V /P {My way} 
  6942.  
  6943. One of the best things about NDOS is the filename point and shoot 
  6944. by setting the extensions. I love it!
  6945.  
  6946.  +-+         + +         +-+         +-+ 
  6947.  +-++-+   +-+|\|      +-+++++-+   +-+| | 
  6948.  | |+-++-+| || |  +++++-+|+++-++-+|  +-+ 
  6949.     | |++++-+     |++|| |   | |+-++-+ 
  6950.        |++        |  |         +-+ 
  6951.  
  6952.  
  6953.  
  6954. ... OFFLINE 1.36 * Aaron Marasco, CEO AbsortoSoft America! (203)758-6155 
  6955.  
  6956. --- Maximus 2.01wb
  6957.  * Origin: less is more. (1:141/590)
  6958. 
  6959. ------------------------------------------------------------------------
  6960.  
  6961. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  6962.  
  6963.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/07/1992
  6964.   To: WILLIAM HUGHES                  Num: 348        Date:  7/04/1992
  6965. From: JUSSI JAASKELAINEN               Re:            Time: 12:21 pm
  6966. Subj: Aliases                        Prvt: N          Read: N
  6967.  
  6968.  > FF echo %@char[12] > prn
  6969.  > FFC echo %@char[12] > com2
  6970.  > LF echo %@char[13] > prn
  6971.  > LFC echo %@char[13] > com2
  6972.  
  6973. These are good... But I have done same and more other way.. All codes are
  6974. Canon LBP -laser printer codes...
  6975.  
  6976. :Charter Per Ins
  6977. CPI=set X=0^iff "%&"=="" then^echos 6 10 12 15^else^if "%&"=="15" set X=2^if
  6978. "%&"=="12" set X=1^if "%&"=="10" set X=0^if "%&"=="6" set X=3^echos ¢%X K>
  6979. prn^endiff
  6980. :Stop DOT-printing
  6981. EDOT=echos ¢25m > prn
  6982. :Stop REVERSE-printing
  6983. EREVERS=echos ¢27m > prn
  6984. :Stop SPACE-printing
  6985. ESPACE=echos ¢28m > prn
  6986. :Stop UNDERLINING
  6987. EUNDERL=echos ¢24m > prn
  6988. :Send Form Feed
  6989. FF=echos <^x>f > prn         :<^x> = arrow up
  6990. :Start ITALIC-Printing
  6991. ITALIC=echos ¢3m > prn
  6992. :Commad tells all possibilities
  6993. LASER=echos BOLD ITALIC LIGHT UNDERL EUNDERL REVERS EREVERS DOT EDOT SPACE
  6994. ESPACE^echos REGULAR UPRIGHT
  6995. :Start LIGHT-Printing
  6996. LIGHT=echos ¢2m > prn
  6997. :Line Per Ins
  6998. LPI=set X=0^iff "%&"=="" then^echos 3 4 6 8 12^else^if "%&"=="12" set X=3^if
  6999. "%&"=="8" set X=4^if "%&"=="4" set X=1^if "%&"=="3" set X=2^echos ¢%X L>
  7000. prn^endiff
  7001. :Start REGULAR-Printing
  7002. REGULAR=echos ¢22m > prn
  7003. :Reset printer print codes
  7004. RESET=echos ¢0m > prn
  7005. :Start REVERSE-Printing
  7006. REVERS=echos ¢7m > prn
  7007. :Start SPACE-Printing
  7008. SPACE=echos ¢8m > prn
  7009. :Start UNDERLINING
  7010. UNDERL=echos ¢4m > prn
  7011. :Start BOLD-Printing
  7012. BOLD=echos ¢1m > prn
  7013. :Start DOT-Printing
  7014. DOT=echos ¢5m > prn
  7015.  
  7016.  
  7017. So I can use printer resources from DOS... Example I use LPI 12 & CPI 15  I
  7018. can write 130 x 150 charters to A4 paper...
  7019.  
  7020. SM FAdpC
  7021.  
  7022. ---
  7023.  * Origin: SM Home Point.... Point of Salpu CBCS. (2:221/105.5)
  7024.  
  7025. ------------------------------------------------------------------------
  7026.  
  7027. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  7028.  
  7029.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/07/1992
  7030.   To: CHARLES BUCHANAN                Num: 253        Date:  7/02/1992
  7031. From: WAYNE THOMASON                   Re:            Time:  9:05 pm
  7032. Subj: Date                           Prvt: N          Read: N
  7033.  
  7034. CB> Does anybody know of a way to get the Julian date for the
  7035. CB> current day ? The Julian date is the numerical day of the
  7036. CB> year from January 1. So that FEB 1 would be Julian day 32.
  7037.  
  7038. Well, I just shelled out and worked one up, just for you...  No guarantees
  7039. that it'll always give accurate dates, but I think it'll do the trick.  Here
  7040. it is:
  7041.  
  7042. _______________cut here______________
  7043. rem Julian.BTM
  7044. @echo off
  7045. set Julian=%@eval[%@date[%_date]+1]
  7046. :repeat
  7047. if %Julian% le 365.25 goto end
  7048. set Julian=%@eval[%Julian%-365.25]
  7049. if %Julian% gt 365.25 goto repeat
  7050. :end
  7051.     Set Julian=%@int[%julian%]
  7052.     echo %Julian%
  7053.  
  7054. _______________cut here______________
  7055.  
  7056. The environment variable JULIAN will contain today's Julian date.
  7057.  
  7058. I had to use the FUNCtion that gives the # of days since 1-1-80 at midnight
  7059. for a given date (plus 1 to account for day 1), feeding it with the current
  7060. date variable, then I subtracted 365.25 from the value repeatedly until it
  7061. was less than 365.25.  Finally, I took the INTEGER portion of that value,
  7062. and that is the julian date for this year.
  7063.  
  7064. --- RemoteAccess 1.11+
  7065.  * Origin: The Avenger, Allen TX - 214-390-7840 (1:124/7004)
  7066.  
  7067. ------------------------------------------------------------------------
  7068.  
  7069. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  7070.  
  7071.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/07/1992
  7072.   To: CHARLES BUCHANAN                Num: 262        Date:  7/03/1992
  7073. From: WAYNE THOMASON                   Re:            Time:  4:13 pm
  7074. Subj: Date                           Prvt: N          Read: N
  7075.  
  7076. In a message to All <07-01-92  8:12>, Charles Buchanan wrote:
  7077.  
  7078. CB> Does anybody know of a way to get the Julian date for the
  7079. CB> current day ? The Julian date is the numerical day of the
  7080. CB> year from January 1. So that FEB 1 would be Julian day 32.
  7081.  
  7082. Sorry Charles, found a flaw in my JULIAN.BTM.  On leap years (of which this
  7083. is one), December 31 would generate a "0" instead of "366".  I have fixed it
  7084. with an additional line which tests for %JULIAN=0 and which changes it to
  7085. "366" if the condition is true. I've also provided a means to enter a date on
  7086. the command line in this one, so you can use it to find Julian dates other
  7087. than the current date.  Here's a revised version of JULIAN.BTM:
  7088.  
  7089. _______Cut Here_______
  7090. Rem JULIAN.BTM
  7091. @echo off
  7092.       if "%1" ne "" goto Manual
  7093.       set Julian=%@eval[%@date[%_date]+1]
  7094.       goto repeat
  7095.  
  7096. :Manual
  7097.       Set Julian=%@eval[%@date[%1]+1]
  7098.  
  7099. :repeat
  7100.       if %Julian% le 365.25 goto end
  7101.       set Julian=%@eval[%Julian%-365.25]
  7102.       if %Julian% gt 365.25 goto repeat
  7103.  
  7104. :end
  7105.       Set Julian=%@int[%julian%]
  7106.       if %Julian%=0 set Julian=366
  7107.       echo %Julian%
  7108. _______Cut Here_______
  7109.  
  7110.  
  7111. Hope this helps!  As stated in my original message, the environment variable
  7112. JULIAN contains the Julian date for the current day.  That date can be
  7113. plugged into other batch files by simply using %Julian% as a variable (I
  7114. think the trailing % is optional in 4DOS).  If you type JULIAN 12-31-92, it
  7115. should return 366 now.
  7116.  
  7117. --- RemoteAccess 1.11+
  7118.  * Origin: The Avenger - Allen TX - 214-390-7840 (1:124/7004)
  7119.  
  7120. ------------------------------------------------------------------------
  7121.  
  7122. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  7123.  
  7124.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/07/1992
  7125.   To: CHARLES BUCHANAN                Num: 279        Date:  7/03/1992
  7126. From: MORRIS TURPIN                    Re:            Time:  5:22 pm
  7127. Subj: Date                           Prvt: N          Read: N
  7128.  
  7129.  In a message dated Jul 01 at 08:12, Charles Buchanan of 1:3812/10.6
  7130.  wrote to All:
  7131.  
  7132.  CB> Does anybody know of a way to get the Julian date for the current 
  7133.  CB> day ? The Julian date is the numerical day of the year from January 
  7134.  CB> 1. So that FEB 1 would be Julian day 32.
  7135.  
  7136. Here's a .BTM file that will do the trick for you.  Note that the third last
  7137. line and the second last line below are really on one line:
  7138.  
  7139.  Julian.btm
  7140.  
  7141.  set doy=%@eval[%@date[%_date]-%@date[1/1/%@substr[%_date,1,-2]]+1]
  7142.  set week=%@int[%@eval[%doy/7+1]]
  7143.  set lstdigt=%@substr[%_date,1,-1]
  7144.  iff %lstdigt eq 1 then ^ set ending=st
  7145.     elseiff %lstdigt eq 2 then ^ set ending=nd
  7146.     elseiff %lstdigt eq 3 then ^ set ending=rd
  7147.     else set ending=th
  7148.  endiff
  7149.  echo Today is the %doy%%ending day in the %week%%ending week of 
  7150. 19%@substr[%_date,1,-2].
  7151.  unset doy week ending lstdigt
  7152.  
  7153. There is a small bug in %ending in that it will return 12nd and 13rd instead
  7154. of 12th and 13th.  You can fix this up yourself or else delete these lines. 
  7155. If you decide to fix it up please post your results.
  7156.  
  7157.  
  7158. --- msged 2.07
  7159.  * Origin: Ansi's Escape, Echo Point -- Ottawa, Ontario (1:163/140.3)
  7160.  
  7161. ------------------------------------------------------------------------
  7162.  
  7163. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  7164.  
  7165.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/07/1992
  7166.   To: FURLAN PRIMUS                   Num: 338        Date:  7/04/1992
  7167. From: MAYNARD HOGG                     Re:            Time: 10:05 am
  7168. Subj: Eliminating Duplicate Ent      Prvt: N          Read: N
  7169.  
  7170. FP>great! and where do i get a copy of UNIQ????
  7171.  
  7172. Run the following through a C compiler:
  7173.  
  7174. /*
  7175. Public domain code by Maynard Hogg
  7176. Use at your own risk!
  7177. */
  7178.  
  7179. /*@(#)uniq.c - strip adjacent duplicate lines */
  7180.  
  7181. #include <stdio.h>
  7182. #include <string.h>  /* strcmp() */
  7183. #include <ctype.h>   /* is...() */
  7184. #include "getopt.h"
  7185.  
  7186. #define isdic(x) (isalpha(x) || isdigit(x) || isspace(x))
  7187. #define min(x,y) ( (x<y) ? x : y)
  7188. #define SHOUT(x,y)  (void) fprintf(stderr,x,y)
  7189. #define  FALSE      0    /* logical false constant */
  7190. #define  TRUE       ~0   /* logical true constant */
  7191.  
  7192. static char *SCVCSID = "@(#)"
  7193. "uniq - deletes identical adjacent lines - Maynard Hogg (89/08/07)\n";
  7194.  
  7195. void usage(void) {
  7196.   SHOUT("Usage:  uniq [-options] <infile >outfile\n"
  7197.         "Options:\n"
  7198.         "\t-c\t= count number of occurrences\n"
  7199.         "\t-d\t= duplicates only\n"
  7200.         "\t-f\t= fold order (ignore case)\n"
  7201.         "\t-n\t= number (same as -c)\n"
  7202.         "\t-u\t= unique lines only\n"
  7203.         "\t-h,?\t= this display\n"
  7204.         "Options may appear separately or together and in any order.\n"
  7205.        ,NULL);
  7206.   exit(1);
  7207. }
  7208.  
  7209. main(int argc, char **argv) {
  7210.   char  buf1[MAXLINE], buf2[MAXLINE],
  7211.         *ptr1,
  7212.         *ptr2;
  7213.   int c,
  7214.       (*fptr)();       /* comparison function */
  7215.   unsigned
  7216.       len,         /* length of string */
  7217.       count;
  7218.   BOOLEAN
  7219.           fflag = FALSE,    /* fold (ignore) case */
  7220.           uflag = FALSE,    /* unique lines only */
  7221.           dflag = FALSE,    /* duplicates only */
  7222.           nflag = FALSE;    /* count frequencies  */
  7223.   SHOUT(SCVCSID +=4,NULL);
  7224.   while (-1 != (c=getopt(argc, argv, "fudcn?hFUDCNH")))
  7225.     switch(tolower(c)) {
  7226.      case 'f' : fflag = TRUE; break;
  7227.      case 'u' : uflag = TRUE; break;
  7228.      case 'd' : dflag = TRUE; break;
  7229.      case 'c' :
  7230.      case 'n' : nflag = TRUE; break;
  7231.      default:
  7232.           SHOUT("Illegal command line switch:  -%c\n",c);
  7233.      case '?' :
  7234.      case 'h' :
  7235.           usage();
  7236.      }
  7237.   argc -= optind;
  7238. /* Adust flags:
  7239.    * Make du the same as the default.
  7240.      (FF, FT, and TF, but not TT)
  7241.    * Suppress count for nu case. */
  7242.   if (dflag & uflag) dflag = uflag = FALSE; /* default */
  7243.   if (uflag) nflag = FALSE; /* who needs 1's? */
  7244. /* final check of command line */
  7245.   if (++argc) usage(); /* should be none left */
  7246. /* shift from human to computer index */
  7247. /* Select comparison function */
  7248.   fptr = fflag ? strnicmp : strncmp;
  7249. /* main loop */
  7250.   ptr2 = gets(buf2);
  7251.   while (ptr2) {
  7252.       strcpy(ptr1 = buf1, buf2);
  7253.       count = 0; /* number of duplicates */
  7254.       while (NULL != (ptr2 = gets(buf2))) {
  7255.           if (fptr(ptr1,ptr2)) break;
  7256.           count++;
  7257.       }
  7258.       if (  (uflag && count)   /* skip duplicated lines */
  7259.          || (dflag && !count)  /* skip unique lines */
  7260.          ) continue;
  7261.       if (nflag) printf( "%6d: ", count+1);
  7262.       puts(buf1);
  7263.    }
  7264. }
  7265.  
  7266.  -- SPEED 1.10 #1086: 
  7267. --- GEcho 1.00/beta
  7268.  * Origin: SuperBBS Support/Sales/Beta Avxia_bbs Tokyo Line 1 (6:730/9)
  7269.  
  7270. ------------------------------------------------------------------------
  7271.  
  7272. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  7273.  
  7274.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/07/1992
  7275.   To: SCOTT GILBERT                   Num: 301        Date:  7/04/1992
  7276. From: BOB CAMPBELL                     Re:            Time:  8:34 am
  7277. Subj: New -FUNCS-                    Prvt: N          Read: N
  7278.  
  7279.  >  SS> Is there a way to get 4dos to generate a randome number?
  7280.  >  SS> How about a new function to do this, like %@RANDOM[1,10]
  7281.  >  SS> to get a random number between 1 and 10? :-)
  7282.  > 
  7283.  > %@substr[%_time,0,-1]
  7284.  > 
  7285.  > Note that if you use this technique more than once in the
  7286.  > same batch or alias, you will not get good independent
  7287.  > random numbers.  For instance, the second "random number"
  7288.  > will always be one greater than the first "random number"
  7289.  > if it takes about one second between 
  7290.  > generating the terms.
  7291.  
  7292. As you can see by the example output included below, this routine will
  7293. produce a random number between 1 & 10.  It can use be used in quick
  7294. succession as demonstrated below.  You may have to change the drive letter
  7295. for @unique[].  F:\ is my ram drive. 
  7296.  
  7297. ----------------------- Cut Here -----------------------
  7298.  
  7299. : Ran.btm  -  Bob Campbell 11/27/91
  7300. : generates a random number
  7301. : ------------------------------------------------
  7302. setlocal
  7303. set start=0
  7304. set ttl=0
  7305. :start
  7306. set name=%@unique[F:\]^DEL %NAME /Q
  7307. set ttl=%@eval[%@ASCII[%@SUBSTR[%name,10,1]]+%ttl]
  7308. set start=%@eval[%start+1]
  7309. if "%start" ne "3" goto start
  7310. set RANDOM=%@SUBSTR[%ttl,2,1]
  7311. echo %random
  7312. endlocal
  7313. ----------------------- cut here --------------------------
  7314. Here are three example runs in quick succession  (stacked to conserve space)
  7315.  
  7316. c:\>ran^ran^ran^ran^ran^ran^ran^ran^ran^ran^ran^ran
  7317. 9
  7318. 2   c:\>ran^ran^ran^ran^ran^ran^ran^ran^ran^ran^ran^ran
  7319. 9   7
  7320. 7   8   c:\>ran^ran^ran^ran^ran^ran^ran^ran^ran^ran^ran^ran
  7321. 6   6   2
  7322. 0   3   1
  7323. 1   1   2
  7324. 4   6   4
  7325. 7   5   9
  7326. 2   1   1
  7327. 4   2   0
  7328. 7   1   1
  7329.     1   9
  7330.     4   4
  7331.         9
  7332.         3
  7333.  
  7334.  
  7335.  
  7336.  
  7337.  
  7338. --- OPMED 3.00
  7339.  * Origin: 4DOS leaves command.com in awe (1:119/911.1)
  7340.  
  7341. ------------------------------------------------------------------------
  7342.  
  7343. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  7344.  
  7345.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/07/1992
  7346.   To: TONY NUGENT                     Num: 256        Date:  7/03/1992
  7347. From: JC CRANFILL                      Re:            Time: 10:51 am
  7348. Subj: Problem fine-tuning 4dos       Prvt: N          Read: N
  7349.  
  7350. TN>The second problem is much trickier.  I want 4DOS to run from my
  7351. TN>RAM drive (lock, stock and barrel).  So I copy the following
  7352. TN>files into my RAM drive from my AUTOEXEC.bat:
  7353.    To: REX CONN
  7354.  From: TONY NUGENT
  7355.  Date: 06/30/92
  7356.                         >>>>Text Omitted<<<<
  7357.    Re: PROBLEM FINE-TUNING 4DOS
  7358. I made a 4DOS subdirectry on drive G, my ram drive.  I moved these files
  7359. into it changing any path names where appropriate:
  7360.  
  7361. 4dos.com               4help.exe
  7362. 4dos.hlp               4start.btm
  7363. 4dos.ini               aliases
  7364. 4exit.btm              history
  7365.  
  7366. I then made an alias called mk4auto (thanks DG)
  7367.  
  7368. mk4*auto del c:\4dos\4auto.exe ^ ARJ a -jf -je1 c:\4dos\4auto G:\4DOS\*.*
  7369.  
  7370. The reason for the alias is so that if I need to make a change to any of the
  7371. files on the ram drive the 4AUTO.EXE file on the hard drive can easily be
  7372. regenerated.
  7373.  
  7374. From config.sys
  7375. 1: DEVICE=C:\UTILS\XDISK.SYS /B8192 /D512 2: DEVICE=C:\UTILS\RAMDRIVE.SYS
  7376. parm1 parm2 ... 3: INSTALL=C:\4DOS\4AUTO.EXE 4: SHELL=G:\4DOS\4DOS.COM
  7377. G:\4DOS @G:\4DOS\4DOS.INI
  7378.  
  7379. Take your pick of either line 1 or 2 and optimize the driver first. You will
  7380. need both lines 3 and 4.  I use line 1 because the XDISK driver allows ram
  7381. drives larger than 4 megs and is DV and QEMM compatible.  Line 3 gives me an
  7382. config error at boot up, but I just ignore it as it does not hurt anything.
  7383.  
  7384. Works like a charm and it freed up about 150 k to boot.  Press F1 and the HD
  7385. light does not come on.  Aliases and history are loaded with out accessing
  7386. the hard drive either. Date: 03-27-92 (10:45)             Number: 596 From:
  7387. DARRYL GREGORASH             Refer#: NONE
  7388.   To: JC CRANFILL                   Recvd: NO  Subj: DOS 5: BOOT FROM A RAM
  7389. DR      Conf: (39) 4DOS I made up an ARJ self-extracting file, with the
  7390. following files in it: I:4DOS.COM I:4DOS.INI Note the paths stored in the
  7391. file.  Actual drives/paths will vary, depending on your system configuration.
  7392.  
  7393. I believe the command line I used (ARJ 2.30) was:
  7394.  
  7395. arj a -je -jf -y d:\4dos40\4exec i:\4dos*.*
  7396.  
  7397. (je says create self extractor, jf says store full drive/path with the
  7398. filename, y is to avoid that silly question asking me to confirm that I
  7399. really do wish to do this).
  7400.  
  7401. Note that you can have as many files in your archive as you want, or as
  7402. space will allow, including stuff in subdirectories, including empty
  7403. subdirectories (there is a switch to include empty subdirectories in the
  7404. archive).  If you already have such an archive, you can convert it to
  7405. self-extractor by running
  7406.  
  7407. arj y -je <ARJfile>
  7408.  
  7409. In CONFIG.SYS, add the following DOS 5 INSTALL command;
  7410.  
  7411. install=d:\4dos40\4exec.exe -y
  7412.  
  7413. (-y says to assume <Y>es to all queries, not sure if that is really needed).
  7414.  DOS will complain, since nothing stays resident, but you can ignore that --
  7415. DOS is not smart.
  7416.  
  7417. The SHELL line then reads:
  7418.  
  7419. SHELL=i:\4DOS.COM i:\ @i:\4dos.ini
  7420.  
  7421. I -believe- all the information here is necessary, since i: is definitely
  7422. not the boot drive (boot drive equals drive from which DOS kernel, ie. IO.SYS
  7423. and MSDOS.SYS, were loaded, which will normally be C:)
  7424.  
  7425. TN>To make things even more complicated, I like using PCKWIK and
  7426. TN>PCKRAMD.sys as my RAM drive / cache (very nice) but the (earlier)
  7427. TN>version of PCKWIK that I am using is loaded via AUTOEXEC.bat, so
  7428. TN>the RAM drive is not activated until this time!  So not only
  7429. TN>doesn't the directory exist, neither does the drive!  I could use
  7430. TN>RAMDrive.sys, but I would miss out on the dynamic memory sharing
  7431. TN>of the cache/RAM Drive.
  7432.  
  7433. Above are two messages I used to set up the operation you desire on my
  7434. machine.  You may be able to use the 'INSTALL' command with superpck but I
  7435. don't know since I don't have it and can't experiment with it.  It might be
  7436. possible to set at least the ramdrive parameters for it in config.sys and
  7437. then add further switches through Autoexec.bat.
  7438.  
  7439. My apologies for the long post but it took both of them for me to get it
  7440. tweaked.  Good luck.
  7441.              "JCC"
  7442.  
  7443. ===
  7444.  * RoboMail * Coming soon to a QWK near you.
  7445.  
  7446.  
  7447. --- TosScan 1.00
  7448.  * Origin: T.A.B.B. Tampa's largest Fidonet BBS 813-961-6242 (1:377/6)
  7449.  
  7450. ------------------------------------------------------------------------
  7451.  
  7452. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  7453.  
  7454.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/07/1992
  7455.   To: ALL                             Num: 299        Date:  7/04/1992
  7456. From: JASON FESLER                     Re:            Time:  2:19 pm
  7457. Subj: Renumbering Netmail Messa      Prvt: N          Read: N
  7458.  
  7459. For anyone who wants it, this batch file will take a netmail directory, and
  7460. renumber it starting at 1.  It will preserve the previous numerical order of
  7461. the messages.
  7462.  
  7463. Looks ugly here, sorry.  Can't post high-ascii characters here.. but it
  7464. _does_ look good when it's running.
  7465.  
  7466. Usage:
  7467. [Call] Renumnet d:\path,  where d:\path is the drive and directory name
  7468.                           of your netmail directory.  The "CALL" is only
  7469.                           neccesarry if you are calling this from another
  7470.                           batch file.
  7471.  
  7472. ---[Renumnet.btm]--cut here--
  7473.  
  7474. @echo off
  7475.  
  7476. setlocal
  7477.  
  7478. Alias INC=Set %%1=%%@Eval[%%[%%1]+1]
  7479. color bri yellow on black
  7480. Echo ReNumNet (C)1992 Jason Fesler.
  7481. color bri cyan on black
  7482. if "%1"=="" (Echo Usage:  ReNumNet %@char[175]netmailpath%@char[174] ^ Goto
  7483. Quit)
  7484.  
  7485. Cd %1
  7486. If Not Exist *.Msg Goto Quit
  7487. Echo Renumbering Netmail Directory %_cwd%
  7488. Rename *.Msg *.m!g /Q
  7489. Set x1=1
  7490. Set x2=1
  7491. color cyan on black
  7492.  
  7493. :Loop
  7494. If Not Exist %x1%.m!g (Inc x1 ^ Goto Loop)
  7495. Echos %@char[13]Renumbering %x1% -%@char[16] %x2%
  7496. Rename %x1%.m!g %x2%.Msg  /Q
  7497. Inc x1
  7498. Inc x2
  7499. If Exist *.m!g goto loop
  7500. Echo %@char[13]%@char[10]Done!
  7501. :quit
  7502. endlocal
  7503.  
  7504. --- FMail 0.90
  7505.  * Origin: Instand Origin Line, Just Add Water: (1:203/7707)
  7506.  
  7507. ------------------------------------------------------------------------
  7508.  
  7509. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  7510.  
  7511.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/07/1992
  7512.   To: LARRY MINTON                    Num: 278        Date:  7/03/1992
  7513. From: ERA ERIKSSON                     Re:            Time: 12:57 am
  7514. Subj: which.btm (was: <some bra      Prvt: N          Read: N
  7515.  
  7516.  * Quoting Larry Minton (1:226/60) to Era Eriksson on 30 Jun 1992:
  7517.  EE>> (adapted from Larry Minton's WHATIS.BTM, posted here from time
  7518.  EE>> to time)
  7519.  > Hey, who said you could modify my fine little program!?!  Some people
  7520.  > just can't handle perfection.  Now if I could just get it to do
  7521.  > everything I really want it to do...   Seriously, glad to see someone
  7522.  > actually uses it!  What types of mods did you make?
  7523.  
  7524. I refine it from time to time; it's hard to recapitulate everything in one
  7525. breath. Hey, it might be useful enough to deserve a reposting! Here goes.
  7526.  
  7527.  
  7528. :::::::::::::::
  7529. :: WHICH.BTM ::
  7530. :::::::::::::::
  7531.  
  7532. :: \bat\which.btm       /* era */  18.8.91
  7533. ::   Now does internal cmds, too!
  7534. ::   Thanks to Larry Minton @ Fido 1:226/60 for his whatis.btm, which did it
  7535. ::
  7536. :: Slightly edited for 4DOS v4  6.11.91
  7537. @echo off
  7538. setlocal
  7539. iff "%1" =="" then
  7540.     echo Need an argument
  7541.     quit
  7542. endiff
  7543. set cmd=%@lower[%1]
  7544. set tcmd=%1
  7545. if %@substr[%1,0,1] == @ set tcmd=%@substr[%1,1,9]
  7546. ::         Test for alias
  7547. iff isalias %1 then
  7548.     echos %cmd aliased to
  7549.     *alias %cmd
  7550.     quit
  7551. endiff
  7552. ::         Test for internal command
  7553. if %@substr[%1,0,1] == * set tcmd=%@substr[%1,1,9]
  7554. iff %@upper["%tcmd"]== "SETDOS" then
  7555.     set _W_=
  7556. else
  7557.     setdos /i-%tcmd |& input %%_W_ >nul
  7558.     setdos /i+%tcmd >&nul
  7559. endiff
  7560. iff "%_W_" == "" then
  7561.     echo %cmd is an internal command
  7562.     quit
  7563. endiff
  7564. ::         Test for external command
  7565. set _W_=%@search[%tcmd]
  7566. iff not "%_W_" == "" then
  7567.     echo %_W_
  7568.     echos %@descript[%_W_]
  7569.     quit
  7570. endiff
  7571. ::
  7572. echo %cmd not found.
  7573.  
  7574. :::::::::::::::::::::::::::
  7575.  
  7576. It still has a few flaws, and as I said, I change it something like once a
  7577. week. The hardest one is coping with the descriptions; if the description of
  7578. a program contains a redirection symbol or a command separator, you'll get an
  7579. error. I've resorted to escaping those characters when I use them in a
  7580. description. Like this:
  7581.  
  7582. %prompt> which addprog
  7583. d:\xit\addprog.btm
  7584. *dir /d a:\ ^X| newdata ^X>^X> progdisk.txt
  7585.  
  7586. The ^X:es won't actually show up in the description; I inserted them by hand
  7587. as an example.
  7588.  
  7589. I used to have it ECHO the contents of an alias, too (that's easy now that
  7590. we have %@alias), but that gave me more errors than I could count. I'd still
  7591. like to see a solution to this problem.
  7592.  
  7593. Mostly, I use the description stuff to check which version of a program I
  7594. have, but sometimes, descriptions like the above can be real helpful.
  7595.  
  7596. /* era */
  7597.  
  7598. --- 4dos 4.01 && GoldEd
  7599.  * Origin: Your wish is my 4dos   o .  (Ball point, Helsinki) (2:220/851.95)
  7600.  
  7601. ------------------------------------------------------------------------
  7602.  
  7603. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  7604.  
  7605.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/08/1992
  7606.   To: MORRIS TURPIN                   Num: 364        Date:  7/06/1992
  7607. From: WAYNE THOMASON                   Re:            Time:  5:16 pm
  7608. Subj: Date                           Prvt: N          Read: N
  7609.  
  7610. In a message to Shaun Crossley <07-04-92 14:23>, Morris Turpin wrote:
  7611.  
  7612. SC> Try this out...
  7613.  
  7614. SC> echo %@eval[ %@date[%_date ]-%@date[1-1-%@substr[ %_date,6,2] ] ]
  7615.  
  7616. MT> Have you checked out what julian date is returned for 1
  7617. MT> January is using the above, Shaun.  I haven't either, but I
  7618. MT> suspect that it will return a "0" instead of (the correct)
  7619. MT> "1".  Of course, all other dates will also be out by one
  7620. MT> day.  To correct this you have to add one to the %@eval[]
  7621. MT> statement.  The following will return the correct julian
  7622. MT> date:
  7623.  
  7624. MT> set julian=%@eval[%@date[%_date]-%@date[1/1/%@substr[%_date,1,-2]]+1]
  7625.  
  7626. Morris, here's an alias that works beautifully, including a check for valid
  7627. output.  Without a valid output (entering garbage or incorrect date), it
  7628. displays a USAGE: hint.  I've been tweaking this routine since Charles
  7629. Buchanan asked for it, and with help from other readers to show me the best
  7630. method, I've finally come up with a nice ALIAS.  I will include both the
  7631. .BTM version and the ALIAS.LST version (obviously their almost identical,
  7632. but...):
  7633.  
  7634. (Add to your AUTOEXEC.BTM, this is all one line, not 4 separate ones)
  7635.  
  7636. alias julian `set tmp=%_date^if "%1" ne "" set tmp=%1^set
  7637. julian=%@eval[%@date[%tmp]-%@date[1-1-%@substr[%tmp,1,-2]]+1]^iff
  7638. %@len[%tmp] lt 6 .or. %julian le 0 then echo Usage : JULIAN
  7639. [mm-dd-yy]^unset julian^else^echo %julian^endiff^unset tmp`
  7640.  
  7641.  
  7642. (Or instead, add this to your ALIAS.LST, as before, all one line)
  7643.  
  7644. julian=set tmp=%_date^if "%1" ne "" set tmp=%1^set julian=%@eval
  7645. [%@date[%tmp]-%@date[1-1-%@substr[%tmp,1,-2]]+1]^iff %@len[%tmp]
  7646. lt 6 .or. %julian le 0 then echo Usage : JULIAN [mm-dd-yy]^unset
  7647. julian^else^echo %julian^endiff^unset tmp
  7648.  
  7649. --- RemoteAccess 1.11+
  7650.  * Origin: The Avenger, Allen TX - 214-390-7840 (1:124/7004)
  7651.  
  7652. ------------------------------------------------------------------------
  7653.  
  7654. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  7655.  
  7656.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/08/1992
  7657.   To: DAVID SWARD                     Num: 363        Date:  7/06/1992
  7658. From: JASON FESLER                     Re:            Time: 11:43 am
  7659. Subj: Prompt                         Prvt: N          Read: N
  7660.  
  7661.  > I came across a good prompt yesterday, and not knowing if anyone here
  7662.  > uses it, here it is -
  7663.  
  7664.  This one you can do via batch file - it's in my autoexec.
  7665.  
  7666. PROMPT=$e[s$e[1;1H$e[1;33;44m$e[K Shell
  7667. ($e[37m$z$e[33m)$e[34;44m│$e[33mMem: $e
  7668. [37m%@dosmem[k]k$e[34m│$e[37m$t$e[34m│$e[33mLast
  7669. Error:$e[37m$r$e[34m│$e[37m%@diskfree[$n:,k]$e[33mk free at
  7670. $e[37m$P$e[K$e[u$e[0;1;36m$p$g $e[0m
  7671.  
  7672. (All of that on one line, of course, with spaces where the line breaks are.)
  7673.  
  7674. What this ends up looking like:  the prompt will go to the top of the screen,
  7675. change to blue background for a "status line", and draw:
  7676.  +---------------------------------------------------------------------
  7677.  | Shell (1)│Mem: 574k│11:13:52│Last Error: 0│20041k free at C:\FD
  7678.  
  7679. The titles are in yellow; the relavant parameters are in white, and the
  7680. seperator bars are light blue.  Looks quite nice, and contains all the
  7681. information I used to have to run dos functions for.
  7682.  
  7683. --- FMail 0.90
  7684.  * Origin: Instand Origin Line, Just Add Water: (1:203/7707)
  7685.  
  7686. ------------------------------------------------------------------------
  7687.  
  7688. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  7689.  
  7690.  BBS: ASTRIX          Conference: 4DOS            Imported:  7/10/1992
  7691.   To: KETIL KRUMM                     Num: 13645      Date:  7/03/1992
  7692. From: RIC NAFF                         Re: 0          Time: 10:27 am
  7693. Subj: FOR/NEXT LOOPS                 Prvt: N          Read: N
  7694.  
  7695. ┌─────┤ FROM: KETIL KRUMM ├─────┤ ON:  6/30/19 ├──────────────────────┐
  7696. ...Being a programmer, a love structured batch files...
  7697. └─────┤End-Quote├─────────────────────────────────────────────────────┘
  7698.  
  7699. If that's the case, then you should be eager to *remove* as much
  7700. in-line/top-down code as possible and divert them to subroutines.
  7701. In 4DOS, the (a) way to handle this is:
  7702.  
  7703.        FOR %File in ( %Filelist ) GOSUB MyLabel
  7704.        commands to execute after FOR/NEXT "loop" finishes
  7705.        QUIT
  7706.     :MyLabel
  7707.        commands to execute within the FOR/NEXT "loop"
  7708.        RETURN
  7709.  
  7710. Alternatively, if you do not want to keep the "subroutine" code in the
  7711. same .BTM file:
  7712.  
  7713.        FOR %File in ( %Filelist ) CALL MySubr.BTM %File
  7714.        commands to execute after FOR/NEXT "loop" finishes
  7715.  
  7716. where MySubr.BTM contains the commands you want to execute in the
  7717. FOR/NEXT "loop".  Make sure you pass the value of %File so that
  7718. MySubr.BTM can have access to it via "%1"...
  7719.  
  7720. Ric
  7721.  
  7722. PCRelay:DFWPGMR -> #1033 RelayNet (tm)
  7723. 4.11               DFW Programmers' Exchange (214)398-3112 <ASP>
  7724.                                                                                            
  7725. PCRelay:DCINFO -> #16 MetroLink International Network
  7726. 4.10              DC Info Exchange MetroLink International Hub
  7727.           
  7728.  
  7729. ------------------------------------------------------------------------
  7730.  
  7731. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  7732.  
  7733.  BBS: ASTRIX          Conference: 4DOS            Imported:  7/10/1992
  7734.   To: DEBBIE GORNEY                   Num: 13650      Date:  7/04/1992
  7735. From: JIM WETZSTEIN                    Re: 0          Time: 10:36 am
  7736. Subj: NEW 4DOS                       Prvt: N          Read: N
  7737.  
  7738. DG║        None that I can see. I wasn't deleting the descript.ion file, I
  7739. DG║        was looking for a way to display them with the file name
  7740. DG║        [no .ext]. and no other information that would normally be seen.
  7741.  
  7742.    Wrote a small, quick .BTM for you.  You said you only want to see
  7743. the file and desc.  So you might not want the Header stuff I put into
  7744. it.  I can remove this if you want.  Try it if you like it, send $100
  7745. to REX and Tom. <G>
  7746.  
  7747. CHANGE ALL # signs to the Shift-2 character!!!!!!!
  7748.  
  7749. DDD.BTM (or what ever you want to name it)
  7750.   eg. DDD *.*  or  DDD *.COM  or  DDD *.COM;*.EXE
  7751. ------------------------------------------
  7752. CLS
  7753. SET DDD_SCRLIN=1
  7754. GOSUB HEADER
  7755. FOR %a IN (%1) DO GOSUB START
  7756. GOTO EXIT
  7757.  
  7758. :START
  7759. GOSUB PUT_FILE
  7760. IFF %DDD_SCRLIN=23 THEN
  7761.    SCREEN 23 8
  7762.    PAUSE PRESS ANY KEY FOR NEXT PAGE....
  7763.    SET DDD_SCRLIN=1
  7764.    CLS
  7765.    GOSUB HEADER
  7766. ENDIFF
  7767. RETURN
  7768.  
  7769. :PUT_FILE
  7770. SCRPUT %DDD_SCRLIN 0 %_FG ON %_BG %#NAME[%a]
  7771. SCRPUT %DDD_SCRLIN 10 %_FG ON %_BG -
  7772. SCRPUT %DDD_SCRLIN 12 %_FG ON %_BG %#DESCRIPT[%a]
  7773. SET DDD_SCRLIN=%#EVAL[%DDD_SCRLIN+1]
  7774. RETURN
  7775.  
  7776. :  WRITE THE HEADER
  7777. :HEADER
  7778. SCRPUT %DDD_SCRLIN 0 %_FG ON %_BG FILENAME
  7779. SCRPUT %DDD_SCRLIN 12 %_FG ON %_BG DESCRIPTION
  7780. SET DDD_SCRLIN=%#EVAL[%DDD_SCRLIN+1]
  7781. SCRPUT %DDD_SCRLIN 0 %_FG ON %_BG --------
  7782. SCRPUT %DDD_SCRLIN 12 %_FG ON %_BG -----------
  7783. SET DDD_SCRLIN=%#EVAL[%DDD_SCRLIN+1]
  7784. RETURN
  7785.  
  7786. :EXIT
  7787. SET %DDD_SCRLIN=%#EVAL[%DDD_SCRLIN+1]
  7788. SCREEN %DDD_SCRLIN 8 DONE!!
  7789.  
  7790.   Hope this is what you were looking for.  Good Luck......
  7791.  
  7792. ---
  7793.  ■ OLX 2.2 ■ hAS ANYONE SEEN MY cAPSLOCK KEY?
  7794.  
  7795. PCRelay:BAUDLINE -> #78 RelayNet (tm)
  7796.                                                                                             
  7797. PCRelay:DCINFO -> #16 MetroLink International Network
  7798. 4.10              DC Info Exchange MetroLink International Hub
  7799.           
  7800.  
  7801. ------------------------------------------------------------------------
  7802.  
  7803. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  7804.  
  7805.  BBS: ASTRIX          Conference: 4DOS            Imported:  7/10/1992
  7806.   To: DEBBIE GORNEY                   Num: 13651      Date:  7/04/1992
  7807. From: JIM WETZSTEIN                    Re: 0          Time:  5:11 pm
  7808. Subj: NEW 4DOS                       Prvt: N          Read: N
  7809.  
  7810.     In that batch file I sent you, add the SETLOCAL and ENDLOCAL line
  7811. as shown below.  Forgot to add that after I was finished debuging the
  7812. batch file.  This will save  your current environment and restore it
  7813. after it is done.
  7814.  
  7815. DDD.BTM
  7816. -----------------------
  7817. CLS
  7818. SETLOCAL
  7819. SET DDD_SCRLIN=1
  7820. .
  7821. .
  7822. .
  7823. :EXIT
  7824. SET %DDD_SCRLIN=%@EVAL[%DDD_SCRLIN+1]
  7825. SCREEN %DDD_SCRLIN 8 DONE!!
  7826. ENDLOCAL
  7827.  
  7828. ---
  7829.  ■ OLX 2.2 ■ hAS ANYONE SEEN MY cAPSLOCK KEY?
  7830.  
  7831. PCRelay:BAUDLINE -> #78 RelayNet (tm)
  7832.                                              
  7833.  
  7834. ------------------------------------------------------------------------
  7835.  
  7836. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  7837.  
  7838.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/11/1992
  7839.   To: JOERI GOLSTEYN AND ALL          Num: 405        Date:  7/04/1992
  7840. From: BILL HAYLES                      Re:            Time:  3:41 pm
  7841. Subj: Aliases                        Prvt: N          Read: N
  7842.  
  7843. Joeri, (and everyone)
  7844.  
  7845. FWIW, here are my favourite aliases:
  7846. 9*99 `mode co80`
  7847. aliasfree `echo %_alias`
  7848. asc `echo The ASCII code is: %@ascii[%&]`
  7849. calc `echo The Answer is: %@eval[%&]`
  7850. cd *cdd
  7851. chr$ `echo The character is: %@char[%&]`
  7852. cls `*cls bri yel on blu bor red`
  7853. cpu `echo %_cpu`
  7854. delbaks `c:^cd\^global /h /i del %baks^d:^cd\^global /h /i del %baks^
  7855.          e:^cd\^global /h /i del %baks`
  7856. diskfree `echo Disk free space is: %@diskfree[%&,k]K`
  7857. disktotal `echo Disk total space is: %@disktotal[%&,k]K`
  7858. diskused `echo Disk used space is: %@diskused[%&,k]K`
  7859. e exit
  7860. edit `c:\dos\editor %1`
  7861. edlin `c:\dos\editor %1`
  7862. env*ironment `echo %_env`
  7863. f*ind `e:\norton\ff.exe %1 /a`
  7864. l*ist `e:\utils\list %1 /J /8`
  7865. md `e:\utils\maketree.btm`
  7866. realias `alias /r e:\aliases.txt`
  7867. shell `echo Current Shell is No. %_shell`
  7868. tidy `wipedos^delbaks^e:\norton\sort^e:\recover`
  7869. tnt `e:\tnt1\tnt.exe /FBill /LHayles`
  7870. unarj `e:\arj\arj e`
  7871. uparj `e:\arj\arj a -r -jt`
  7872. unzip `e:\zip\pkunzip`
  7873. wipedos `for %%a in (c:\ d:\ e:\ f:\) xdel %%a4dosswap.* /N /R`
  7874.  
  7875. Hope these are of some use to some people <grin>
  7876.  
  7877. Bill// 
  7878.  
  7879.                   ----------------------------------------
  7880.  
  7881. TNT XL/v8.2
  7882.  
  7883.  
  7884. --- HALCYON 5.10
  7885.  * Origin: Fox's Den BBS (0689) 827085 (2:440/28)
  7886.  
  7887. ------------------------------------------------------------------------
  7888.  
  7889. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  7890.  
  7891.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/11/1992
  7892.   To: BILL HAYLES                     Num: 432        Date:  7/07/1992
  7893. From: DOMINIC STRANGE                  Re:            Time:  6:51 pm
  7894. Subj: Aliases                        Prvt: N          Read: N
  7895.  
  7896. Hi Bill,
  7897.  
  7898. BH>diskfree `echo Disk free space is: %@diskfree[%&,k]K`
  7899. BH>disktotal `echo Disk total space is: %@disktotal[%&,k]K`
  7900. BH>diskused `echo Disk used space is: %@diskused[%&,k]K`
  7901.  
  7902. hate to say it, but these are boring <g>.  Try this!
  7903.  
  7904. equt=set gtot=%@eval[%gtot + %nto]^set gfre=%@eval[%gfre + %nfre]
  7905.      ^set guse=%@eval[%guse + %nus]
  7906.  
  7907. disk=set nto=%@disktotal[%a:b]^set nfre=%@diskfree[%a:b]^set
  7908.      nus=%@diskused[%a:b]^echo %a Drive %nto B Total %nfre B Free
  7909.      %nus B Used^equt
  7910.  
  7911. total=echo Total disk space %gtot^echo Total free disk space %gfre
  7912.      ^echo Total used disk space %guse
  7913.  
  7914. percent=echo %@eval[(%guse / %gtot) * 100]%% Total disk space used
  7915.  
  7916. remvar=unset gtot^unset nto^unset gfre^unset nfre^unset guse^unset nus
  7917.  
  7918. chkds=set gtot=0^set gfre=0^set guse=0^for %a in (C D E F) do disk^echo.
  7919.       ^total^percent^remvar
  7920.                                                   ^^^^^^^^^
  7921.                                      Change this to your drive letters
  7922.  
  7923.  
  7924. Have fun
  7925.  
  7926. Cheers
  7927.  
  7928. Dominic
  7929.  
  7930.  
  7931.  * SLMR 2.1a * How many babies can a motherboard have?
  7932.  
  7933. --- Maximus 2.01wb
  7934.  * Origin: Golly! = A 4DOS BBS = [+44-734-320812] (2:252/21)
  7935.  
  7936. ------------------------------------------------------------------------
  7937.  
  7938. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  7939.  
  7940.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/11/1992
  7941.   To: ALLE                            Num: 439        Date:  7/05/1992
  7942. From: MICHAEL EICHHARDT                Re:            Time: 11:55 am
  7943. Subj: Aliases                        Prvt: N          Read: N
  7944.  
  7945. Hello!
  7946.  
  7947. Here are some more aliases (note that I use '$' instead of '&' for parameter
  7948. completion):
  7949.  
  7950.  
  7951. : i don't like describe;-)
  7952. !    D:\UTIL\NORTON\FI /c/p/l
  7953.  
  7954. : saves current dir on stack and use Norton's NCD to change to next
  7955. #    PushD^IFF "%2"=="" THEN D:\UTIL\NORTON\NCD %1 >NUL^ELSE
  7956.      %1^D:\UTIL\NORTON\NCD %2 >NUL^ENDIFF
  7957.  
  7958. : one back
  7959. ##   PopD
  7960.  
  7961. : shortcut for select
  7962. °    IFF "%2"=="" THEN select %1 (*.*)^ELSE Select %1 (%2) %3$^ENDIFF
  7963.  
  7964. : some more shortcuts
  7965. cp   c:\dos\xcopy
  7966. h    History
  7967. l    Dir /B
  7968. ls   Dir /w/B/p
  7969. mv   Move
  7970. rm   Del /Q
  7971. xdel Select Del [%$]
  7972.  
  7973. : small calculator
  7974. bc   IFF "%1"=="" THEN ECHO Usage : BC arithmetic-expr^ELSE ECHO
  7975.      %@eval[%$]^ENDIFF
  7976.  
  7977. : swap beetween actual dir and top of dir-stack (use with #)
  7978. sw*ap SET _d=%_cwd%^PopD^SET _e=%_cwd%^CDD %_d%^PushD %_e%^UNSET _d _e
  7979.  
  7980. : use list instead of more
  7981. more IFF "%1"=="" THEN *List /S^ELSE *List^ENDIFF
  7982.  
  7983. : display directories
  7984. ddir *DIR /A:d
  7985.  
  7986. : list with SELECT if argument is missing
  7987. list IFF "%1"=="" THEN *Select /A-D *List (*.*)^ELSE *List %$^ENDIFF
  7988.  
  7989. Ciao  |\/|
  7990.       |  |ike
  7991.  
  7992. --- Golded 2.32.B0212+
  7993.  * Origin: Point 13 - HGS Cologne [V32B] (FidoNet 2:241/5002.13)
  7994.  
  7995. ------------------------------------------------------------------------
  7996.  
  7997. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  7998.  
  7999.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/11/1992
  8000.   To: MORRIS TURPIN                   Num: 435        Date:  7/08/1992
  8001. From: MAYNARD HOGG                     Re:            Time:  1:54 pm
  8002. Subj: Date                           Prvt: N          Read: N
  8003.  
  8004. MT> set lstdigt=%@substr[%_date,1,-1]
  8005.   > iff %lstdigt eq 1 then ^ set ending=st
  8006.   >    elseiff %lstdigt eq 2 then ^ set ending=nd
  8007.   >    elseiff %lstdigt eq 3 then ^ set ending=rd
  8008.   >    else set ending=th
  8009.   > endiff
  8010.   > 
  8011.   >There is a small bug in %ending in that it will return 12nd and
  8012.   >13rd instead of 12th and 13th. You can fix this up yourself or else
  8013.   >delete these lines. If you decide to fix it up please post your
  8014.   >results.
  8015.  
  8016. Here's a blatant ripoff of my recent contribution to the C Snippets
  8017. file: <grin>
  8018.  
  8019. rem Assuming American dates (mm/dd/yy)... <grin>
  8020. *set ordinal=%@substr[%_date,3,2]
  8021. if %ordinal gt 10 .and. %ordinal lt 20 *set ordinal=0
  8022. *set ordinal=%@eval[%ordinal %% 10]
  8023. if %ordinal gt 3 *set ordinal=0
  8024. *set ordinal=%@word[%ordinal,th st nd rd]
  8025.  
  8026.  -- SPEED 1.10 #1086:
  8027. --- GEcho 1.00/beta
  8028.  * Origin: SuperBBS Support/Sales/Beta Avxia_bbs Tokyo Line 1 (6:730/9)
  8029. 
  8030. ------------------------------------------------------------------------
  8031.  
  8032. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  8033.  
  8034.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/11/1992
  8035.   To: SCOTT WUNSCH                    Num: 443        Date:  7/09/1992
  8036. From: SCOTT SANDERS                    Re:            Time:  1:22 pm
  8037. Subj: IFF question                   Prvt: N          Read: N
  8038.  
  8039. SW> OFFLINE 1.39 * "Beam me up, Scotty!"   "Aye, will a 2 x 4 do Captain?"
  8040.  No no no, it's..
  8041.  
  8042. ... "Beam me aboard, Scotty!"  "Aye, captain, will a 2x4 do?"
  8043.              ^^^^^^
  8044. Hehehe, it's FUNNY that way.   Anyway, this isn't the taglines echo,
  8045. so..
  8046.  
  8047. I've seen some 4dos prompts here lately, so here's mine:
  8048.  
  8049. :
  8050. : Prompts.Btm
  8051. : Alias Alt-Z (to run this file) and others are used with it
  8052. :
  8053. If /%PromptMode\ == /\ Set PromptMode=N
  8054. Iff /%PromptMode\ == /N\ Then
  8055.     Iff /%_DV\ == /1\ Then
  8056.     Prompt $e[s$e[1;1H$e[0;32mMemory:$s$e[1m%@DOSMEM[K]$e[0;32mk,$s$e[1m
  8057.      %@EMS[K]$e[0;32mk$s$sDV:$e[1m$sON$s$s$e[0;32mNL:$s$e[1;32m$z$e[K$e[u$_
  8058.      $e[34m[$e[33mF2$e[0;36m$qHelp$e[1;34m]$_$e[0;36m($e[1m$p$e[0;36m):$e[K$s
  8059.     Else
  8060.     Prompt $e[s$e[1;1H$e[0;32mMemory:$s$e[1m%@DOSMEM[K]$e[0;32mk,$s$e[1m
  8061.      %@EMS[K]$e[0;32mk$s$sDV:$e[1m$sOFF$s$s$e[0;32mNL:$s$e[1;32m$z$e[K$e[u$_
  8062.      $e[34m[$e[33mF2$e[0;36m$qHelp$e[1;34m]$_$e[0;36m($e[1m$p$e[0;36m):$e[K$s
  8063.     EndIff
  8064.     Set PromptMode=L
  8065.     Quit
  8066. Endiff
  8067. Iff /%PromptMode\ == /L\ Then
  8068.     Prompt $e[0;36m($e[1m$p$e[0;36m):$s
  8069.     Set PromptMode=S
  8070.     Quit
  8071. Endiff
  8072. Iff /%PromptMode\ == /S\ Then
  8073.     Prompt $e[D
  8074.     Set PromptMode=N
  8075.     Quit
  8076. Endiff
  8077.  
  8078.  
  8079. Well, it might not work perfectly, but it's good enuf' for me.
  8080.  
  8081.  
  8082. Scott
  8083.  
  8084. --- GEcho 1.00/beta
  8085.  * Origin: inSaNiTY..doN'T juST FReak ouT, go inSaNe! [HST/DS] (1:3815/101)
  8086.  
  8087. ------------------------------------------------------------------------
  8088.  
  8089. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  8090.  
  8091.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/11/1992
  8092.   To: ALL                             Num: 442        Date:  7/09/1992
  8093. From: DAVID SWARD                      Re:            Time:  4:26 pm
  8094. Subj: inkey                          Prvt: N          Read: N
  8095.  
  8096. Could someone tell me what's wrong with this - I've written my own
  8097. file/description lister, but the pause doesn't work.  4dos keeps giving me
  8098. the usage stuff for inkey :(.
  8099.  
  8100.  
  8101. rem ld.btm - lists files & descriptions w/ (broken) pause
  8102. rem by david sward
  8103.  
  8104. setlocal
  8105.  
  8106. if "%1"=="" (echo Usage: ld filespec ^ quit)
  8107.  
  8108. echo filename.ext  description
  8109. echo --------.---  ----------------------------------------
  8110.  
  8111. set ld_lines=3
  8112. set ld_key=.
  8113.  
  8114. for %file in (%1) do (
  8115.   iff "%@descript[%file]" ne "" then
  8116.     iff %ld_lines eq %_rows then
  8117.       inkey -- more --  %%ld_key
  8118.       screen %_row 0 [put 10 alt-255's here]
  8119.       set lines=1
  8120.     endiff
  8121.  
  8122.     screen %_row 0 %@name[%file]
  8123.     screen %_row 8 .%@ext[%file]
  8124.     screen %_row 14 %@descript[%file]
  8125.     screen %_row 78
  8126.     echo [put 1 alt-255 here]
  8127.  
  8128.     inc ld_lines
  8129.   endiff
  8130. )
  8131.  
  8132. endlocal
  8133.  
  8134. --- msgedsq 2.1
  8135.  * Origin: chevy chase, md (1:109/70.871)
  8136.  
  8137. ------------------------------------------------------------------------
  8138.  
  8139. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  8140.  
  8141.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/11/1992
  8142.   To: KEITH ROLLAND                   Num: 426        Date:  7/08/1992
  8143. From: TONY DUNLAP                      Re:            Time:  7:27 pm
  8144. Subj: Var expansion                  Prvt: N          Read: N
  8145.  
  8146.  > echo %whoami, %datecode, %site, miles:
  8147.  >  %sitemiles >> %DataDrive\%WhoAmI-%SiteNumber.mil
  8148.  
  8149.  > The above works fine, however...
  8150.  
  8151.  > echo %whoami, %datecode, %site, miles:
  8152.  >  %sitemiles >> %DataDrive\%WhoAmI%SiteNumber.mil
  8153.  
  8154.  > The above creates a file named c:\junk\keithsit.mil
  8155.  
  8156.  > Puzzling, no? :)
  8157.  
  8158.  Yes, but simple to fix. Even though the docs are not real clear on this, if
  8159. you echo environment variables one right after another with nothing between,
  8160. you have to use a percent sign before AND after all but the last variable,
  8161. like this:
  8162.  
  8163. %WHOAMI%%SITENUMBER
  8164.       (^^--note the 2 %'s)
  8165.  
  8166. instead of this: %WHOAMI%SITENUMBER ,which in your case tried to create a
  8167. file called keithsitenumber.mil but the filename was truncated after the
  8168. eighth character because 8 is the most you can have in a filename.
  8169.  
  8170.  
  8171. So changing the above to:
  8172.  
  8173.  echo %whoami, %datecode, %site, miles:  %sitemiles >>
  8174. %DataDrive\%WhoAmI%%SiteNumber.mil
  8175.  
  8176. will create the desired file in your case.
  8177.  
  8178. (even if you don't have to, it wouldn't hurt to always use %VAR% and avoid
  8179. having to track down things like this)
  8180.  
  8181. Later
  8182.  
  8183. ---
  8184.  * Origin: DISCOVER (1:2220/30.1)
  8185.  
  8186. ------------------------------------------------------------------------
  8187.  
  8188. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  8189.  
  8190.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/11/1992
  8191.   To: SYLVAIN BEAUREGARD              Num: 392        Date:  7/06/1992
  8192. From: TONY DUNLAP                      Re:            Time:  9:30 pm
  8193. Subj: Wish list                      Prvt: N          Read: N
  8194.  
  8195.  > A parameter to INPUT to limit the lenght of the input.
  8196.  
  8197. A workaround is to use inkey and append that keystroke to an environment
  8198. variable, then test the length of the variable.
  8199. Handling backspaces will require some ingenuity but....
  8200.  
  8201. Example:
  8202.  
  8203. :STARTPW
  8204. set password=
  8205. :GETKEY
  8206. if %@LEN[#%password] EQ 7 goto ENDPW :: for a 6 character limit
  8207. set keyin=
  8208. inkey /W20 %%keyin
  8209. if #%keyin EQ # goto ENDPW :: if they pressed enter
  8210. set password=%password%keyin
  8211. goto GETKEY
  8212. :ENDPW
  8213.  
  8214.  
  8215.  > A password prompter, style: PASSW motdep /* /cs
  8216.  
  8217. Another workaround. Set fore/back colors to the same then using
  8218. the example above after each inkey use scrput to put the asterick on the
  8219. screen. For case-sensitive you can use %@ascii[] to test each character of
  8220. the password string.
  8221.  
  8222. Later
  8223.  
  8224. ---
  8225.  * Origin: DISCOVER (1:2220/30.1)
  8226.  
  8227. ------------------------------------------------------------------------
  8228.  
  8229. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  8230.  
  8231.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/11/1992
  8232.   To: REX CONN                        Num: 396        Date:  7/07/1992
  8233. From: MORRIS TURPIN                    Re:            Time:  9:34 pm
  8234. Subj: Yet Another Suggestion...      Prvt: N          Read: N
  8235.  
  8236. I have a suggestion for 4DOS that I, and I think others, would find useful:
  8237. a new condition ISDISK to be used with the IF and IFF commands to test for
  8238. the presence of a disk in a specified drive.
  8239.  
  8240. ISDISK d:
  8241.   If d: is a floppy drive and a disk is inserted, or if d: is a hard 
  8242.   drive and it exists, the condition is true.                                
  8243.                                    
  8244.  DSKREADY.COM does a similar function and doesn't cause the floppy drives
  8245. to grind like %@ready[d:] does, but it is external and doesn't work very
  8246. fast.  If you're not familiar with it, here is the script file:
  8247.  
  8248.  N DSKREADY.COM
  8249.  E 0100 08 C0 75 13 A0 5C 00 FE C8 B9 01 00 31 D2 BB 1B
  8250.  E 0110 01 CD 25 72 02 30 C0 B4 4C CD 21
  8251.  RCX
  8252.  001B
  8253.  W
  8254.  Q
  8255.  
  8256.  
  8257. --- msged 2.07
  8258.  * Origin: Ansi's Escape, Echo Point -- Ottawa, Ontario (1:163/140.3)
  8259.  
  8260. ------------------------------------------------------------------------
  8261.  
  8262. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  8263.  
  8264.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/14/1992
  8265.   To: DAVID GOODENOUGH                Num: 106        Date:  7/11/1992
  8266. From: ERA ERIKSSON                     Re:            Time:  5:06 am
  8267. Subj: 4dos And Lantastic  c          Prvt: N          Read: N
  8268.  
  8269.  * Quoting David Goodenough (1:125/20) to Hermod Pedersen on 07 Jul 1992:
  8270.  >>> c:\lan\NET LOGIN/WAIT \\SERVER ?"NAMN: " `^`"L#SENORD: " etc.
  8271.  >>> i.e. wrap up the ^ in ` characters. I couldn't try it with
  8272.  >> That ought to do it - but it doesn't. The Lantastic BAT-file still
  8273.  >> refuses to acknowledge the format - now it doesn't like the '
  8274.  > guess I should have been a bit clearer, but I used the backquote
  8275.  > (hex 60, very top left corner of the keyboard, same key as ~ ).
  8276.  
  8277. (Not on a Swedish keyboard, it isn't!)
  8278.  
  8279. Since there's been a lot of confusion about escape characters in this echo
  8280. lately, I'd like to try to list the possible remedies once and for all...
  8281.  
  8282. (It's all in the manual, if you look closely enough.-)
  8283.  
  8284. There are a number of special characters that 4DOS acts upon when parsing a
  8285. command line. These are
  8286.   - redirection characters          ( > < | )
  8287.   - command separator        ( ^ by default )
  8288.   - colon, in some circumstances        ( : )
  8289.   - different kinds of quotes       ( ' " ` )
  8290.   - grouping characters           ( [ ] ( ) )
  8291.   - escape character      (ctrl-X by default)
  8292.   - environment variable reference      ( % )
  8293.   - word separator              ( tab space )
  8294.  
  8295. You also cannot enter some characters (escape, backspace, enter) directly
  8296. from the keyboard.
  8297.  
  8298. And here are the remedies.
  8299.  
  8300. 1. Backquotes will prevent any further processing of the stuff between the
  8301.    backquotes. This includes spaces.
  8302.  
  8303.    Examples:
  8304.  
  8305.         echo `Funny characters such as ^ <ctrl-X> <ctrl-X>n >|<`
  8306.         set trailingspaces=`   `
  8307.  
  8308.    Note that the <ctrl-X>n in the first example expands to a Carriage
  8309.    Return.
  8310.  
  8311. 2. The escape character will always guard the following character from
  8312.    expansion by 4DOS. Some escaped characters have special meaning.
  8313.  
  8314.         echo <ctrl-X>e[7;5m   <ctrl-X>^    <ctrl-X>e[0m
  8315.  
  8316.    This will send escape codes (ASCII 1Bh, produced by the code <ctrl-X>e)
  8317.    which your ANSI driver, if you have one installed, will interpret. This
  8318.    example produces a reverse-video blinking caret (note that this is
  8319.    normally the command separator) with some spaces around it.
  8320.  
  8321. 3. In addition to the above, the percent sign, which is used to reference
  8322.    environment variables, can be escaped by itself, that is, two %s in a
  8323.    row produce one % in the output.
  8324.  
  8325.         echo %@diskfree[c:,k]k free (%@eval[%@diskfree[c:,k]/839]%%)
  8326.  
  8327.     This calculates free disk space on C: and prints out a percentage of
  8328.     the total available amount along with the number of kilobytes free.
  8329.     Like this (note the one percent sign that survived the calculation):
  8330.         1093k free (1.30274136%)
  8331.  
  8332. 4. You can change the command separator, temporarily or permanently.
  8333.    If you use GREP a lot, you certainly don't want ^ as your command
  8334.    separator.
  8335.    Check out SETDOS /C and the CommandSep directive in 4DOS.INI.
  8336.  
  8337. 5. If you want to ALIAS or SET something, you can put it in a file and
  8338.    read in the file with ALIAS /R or SET /R, respectively. No expansion
  8339.    will be done until you use the alias or variable. Check the manual
  8340.    for syntax, or just SET > TEMPFILE and use the resulting file as an
  8341.    example.
  8342.  
  8343. For additional information, look in the manual.
  8344.  
  8345. I'm sure I must have missed something (just look at the time stamp of this
  8346. message) so I hope somebody else will add more.
  8347.  
  8348. I think I tested all the examples, but I'm not quite sure I typed them
  8349. right. Also, my own manual is on loan to a friend who has decided to try out
  8350. 4DOS, so I haven't actually checked what the manual says. I might have missed
  8351. some special character.
  8352.  
  8353. If somebody feel like whipping up a FAQ for this area and wishes to use
  8354. this,
  8355. I'd be most flattered. Reposting etc is OK, too.
  8356.  
  8357. /* era */
  8358.  
  8359. --- 4dos 4.01/B && GoldEd
  8360.  * Origin: Nobody Ever Reads Documentation  o . (Ball point) (2:220/851.95)
  8361.  
  8362. ------------------------------------------------------------------------
  8363.  
  8364. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  8365.  
  8366.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/14/1992
  8367.   To: BILL HAYLES                     Num: 76         Date:  7/09/1992
  8368. From: ULF BARTELT                      Re:            Time: 12:49 pm
  8369. Subj: Aliases                        Prvt: N          Read: N
  8370.  
  8371. Hi Bill!
  8372.  
  8373. Saturday July 04 1992 15:41, Bill Hayles wrote to Joeri Golsteyn And All:
  8374.  
  8375.  BH> calc `echo The Answer is: %@eval[%&]`
  8376.  
  8377. CALC=keystack "calc %@eval[%&]"
  8378.  
  8379. Using this alias, CALC [expression] will keystack CALC [result_of_expression]
  8380. with the cursor behind these characters...
  8381. It's nice to get these intermediate results...
  8382.  
  8383. ATH0,
  8384.       Ulf
  8385.  
  8386. --- GoldED 2.40.P0623
  8387.  * Origin: ...can't boot the real thing... (2:241/4530.2)
  8388.  
  8389. ------------------------------------------------------------------------
  8390.  
  8391. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  8392.  
  8393.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/14/1992
  8394.   To: ALL                             Num: 63         Date:  7/08/1992
  8395. From: MICHAEL JERKOVIC                 Re:            Time:  7:08 am
  8396. Subj: History Duplicates             Prvt: N          Read: N
  8397.  
  8398. Ive just discovered offline message reading and have noticed quite
  8399. a bit of chat about removing duplicates from history lists. So I 
  8400. thought I might contribute a btm Ive written that gives a
  8401. spiffy display while doing the job.
  8402.  
  8403. To recreate the btm, cut the code between the ^^^'s and vvv's.
  8404. You will then need to join all lines beginning with +++ to the previous
  8405. line.  For example, the line "alias get_bar ...." is split over four 
  8406. lines.
  8407.  
  8408. If you are a windows user, you may have trouble seeing the line draw 
  8409. characters.  You can view/edit the file in windows if you use an OEM
  8410. font, eg the terminal font.
  8411.  
  8412. Feel free to use, modify or kick around the code in any which way you 
  8413. want.
  8414.  
  8415. ...mic...
  8416.  
  8417. vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
  8418.  
  8419. @echo off
  8420. goto start
  8421.  
  8422. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8423.  
  8424. COMPHIST.BTM             Michael Jerkovic
  8425.                          Jan 1992
  8426.                          Melbourne, AUSTRALIA
  8427.                          
  8428.  
  8429. Comphist is a 4DOS btm that removes duplicate entries in the 4DOS
  8430. internal history list.  It uses only the dos sort utility and 4dos 
  8431. commands.  
  8432.  
  8433. Comphist is not not the most efficient method of compressing your
  8434. history, however it does provide stats and a progress indicator
  8435. to make the process interesting.
  8436.  
  8437. Comphist will work with 25, 40 or 50 line displays.
  8438.  
  8439. Configuration:
  8440. 1. The process requires the creation of a temporary output file.
  8441.    See "set tmp=%@unique[e:]".  The "e:" refers to my ram drive.
  8442.    If you have a ram drive replace "e:" with the appropriate drive.
  8443.    If you dont have a ram drive, use a hard drive.
  8444.    
  8445. 2.  The process assumes you have the dos utility sort in your path.
  8446.     See "history | sort > %tmp".  If sort is not in your path, or if
  8447.     you would prefer to use a more powerful sort utility, you will
  8448.     need to modify this line.
  8449.     
  8450. ___----------------------------------------------------------------------- 
  8451.      
  8452. :start
  8453. setlocal
  8454. set tmp=%@unique[e:]
  8455. history | sort > %tmp
  8456. if %@lines[%tmp]==0 (beep ^ echo Error: History only contains the 
  8457. +++ last command.^quit)
  8458. history /f
  8459. set pos=%_row
  8460. if %pos gt %@eval[%_rows-7] (cls ^ set pos=0)
  8461. text
  8462.                +------------- Compressing History ------------+
  8463.                |                                              |
  8464.                |  Processed     commands, leaving    active.  |
  8465.                |                                              |
  8466.                |   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX   |
  8467.                +----------------------------------------------+
  8468. endtext
  8469. alias showcnt scrput %@eval[%pos+2]  %%1 bri yel on bla %%2
  8470. alias inc `set %1=%@eval[%[%1]+1]`
  8471. set z=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  8472. alias get_bar `set bar=%@eval[%1*%@eval[40/(%@lines[%tmp]+1)]]^
  8473. +++iff `0%@substr[%bar,%@len[%@int[%bar]]]` gt `.5` then ^
  8474. +++ set bar=%@substr[%z,0,%@eval[%@int[%bar]+1]]^else^
  8475. +++ set bar=%@substr[%z,0,%@int[%bar]]^endiff`
  8476. alias display_bar if %%@ascii[%%bar] ne 0 scrput %@eval[%pos+4] 19 
  8477. +++ bri %_fg on %_bg %%bar
  8478. set i=0
  8479. set j=0
  8480. :top
  8481.     set x=%@line[%tmp,%i]
  8482.     if "%x" == "**EOF**" (del %tmp /q^endlocal^quit)
  8483.     if "%x" != "%oldx" (history /a %x^inc j)
  8484.     inc i
  8485.     showcnt 28 %i
  8486.     showcnt 50 %j
  8487.     get_bar %i ^ display_bar
  8488.     set oldx=%x   
  8489. goto top
  8490.  
  8491. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  8492.  
  8493. ___
  8494.  X WinQwk 2.0 a#0 X Unregistered Evaluation Copy
  8495.  
  8496. --- Squish v1.00-OS/2
  8497.  * Origin: The Lightning BBS - Don't Worry... Be Happy... (3:634/383)
  8498. 
  8499. ------------------------------------------------------------------------
  8500.  
  8501. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  8502.  
  8503.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/14/1992
  8504.   To: DAVID SWARD                     Num: 107        Date:  7/10/1992
  8505. From: BOB CAMPBELL                     Re:            Time:  9:28 am
  8506. Subj: inkey                          Prvt: N          Read: N
  8507.  
  8508.  > Could someone tell me what's wrong with this - I've
  8509.  > written my own file/description lister, but the pause 
  8510.  > doesn't work.  4dos keeps giving me the usage stuff for 
  8511.  > inkey :(. 
  8512.  
  8513. Try this:
  8514.  
  8515. setlocal
  8516.  
  8517. if "%1"=="" (echo Usage: ld filespec ^ quit)
  8518.  
  8519. echo filename.ext  description
  8520. echo --------.---  ----------------------------------------
  8521.  
  8522. set ld_lines=3
  8523. set ld_key=.
  8524.  
  8525. for %file in (%1) gosub routine
  8526. cancel
  8527.  
  8528. :routine
  8529.   iff "%@descript[%file]" ne "" then
  8530.     iff %ld_lines eq %_rows then
  8531.       inkey -- more --  %%ld_key
  8532.       screen %_row 0 [put 10 alt-255's here]
  8533.       set lines=1
  8534.     endiff
  8535.   endiff
  8536.     screen %_row 0 %@name[%file]
  8537.     screen %_row 8 .%@ext[%file]
  8538.     screen %_row 14 %@descript[%file]
  8539.     screen %_row 78
  8540.     echo [put 1 alt-255 here]
  8541.  
  8542.     inc ld_lines
  8543.     return
  8544.  
  8545. endlocal
  8546.  
  8547. --- OPMED 3.00
  8548.  * Origin: 4DOS leaves command.com in awe (1:119/911.1)
  8549. 
  8550. ------------------------------------------------------------------------
  8551.  
  8552. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  8553.  
  8554.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/14/1992
  8555.   To: ALL                             Num: 101        Date:  7/11/1992
  8556. From: DAVID SWARD                      Re:            Time:  3:21 pm
  8557. Subj: ld.btm                         Prvt: N          Read: N
  8558.  
  8559. Hey all,
  8560.  
  8561.     I fixed the problem.  Apparently INKEY doesn't like to be part of a long,
  8562. parenthesised expression since when I moved it to a gosub'd subroutine it
  8563. worked.  Here is the finished ld.btm -
  8564.  
  8565.  
  8566. rem lists files with descriptions w/ pause
  8567. rem by david sward
  8568.  
  8569. setlocal
  8570.  
  8571. if "%1"=="" (echo Usage: %0 Filespec ^ quit)
  8572.  
  8573. echo Filename.ext  Description
  8574. echo --------.---  ----------------------------------------
  8575. set lines=3
  8576. for %file in (%1) do gosub desc
  8577. endlocal
  8578. quit
  8579.  
  8580. :desc
  8581. iff "%@descript[%file]" ne "" then
  8582.   iff %lines eq %_rows then
  8583.     set ans=Y
  8584.     inkey /K"YN [Enter]" more? [Y/n]: %%ans
  8585.     screen %@eval[%_row-1] 0 [put 12 alt-255's here]
  8586.     if "%ans"=="N" quit
  8587.     set lines=1
  8588.     unset ans
  8589.   endiff
  8590.  
  8591.   screen %_row 0 %@name[%file]
  8592.   screen %_row 8 .%@ext[%file]
  8593.   screen %_row 14 %@descript[%file]
  8594.   screen %_row 78
  8595.   echo [put 1 alt-255 here]
  8596.  
  8597.   rem inc is an alias - inc=set %1=%@eval[%%1+1]
  8598.   inc lines
  8599. endiff
  8600.  
  8601. return
  8602.  
  8603. --- msgedsq 2.1
  8604.  * Origin: chevy chase, md (1:109/70.871)
  8605.  
  8606. ------------------------------------------------------------------------
  8607.  
  8608. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  8609.  
  8610.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/14/1992
  8611.   To: JASON FESLER                    Num: 126        Date:  7/08/1992
  8612. From: WIM JANSSEN                      Re:            Time:  1:01 pm
  8613. Subj: Renumbering Netmail Messa      Prvt: N          Read: N
  8614.  
  8615.  > Looks ugly here, sorry.  Can't post high-ascii characters here.. but it
  8616.  > _does_ look good when it's running.
  8617. You are right! It's nice... But there is one thing you overloked. There can
  8618. be big hole's in the *.Msg base.. And when you do eg. a INC funtion until 200
  8619. before beginning the renumbering, that's a loss of time...
  8620.  
  8621. 4Dos gives you an opportunity to give you a correct numerical sorted list
  8622. so...
  8623. Why shouldn't we use that? ;-)
  8624.  
  8625. _____O/_____
  8626.      O\
  8627. SetLocal
  8628. Alias INC=Set %%1=%%@Eval[%%[%%1]+1]
  8629. Color Bri Yellow On Black
  8630. Echo -=[ReNumNet]=- (C)1992 By: Jason Fesler
  8631. Echo    Update: 7 July 1992 By: Wim Janssen (2:512/32.9)
  8632. Echo.
  8633. Color Bri Cyan On Black
  8634. If "%1" == "" (
  8635.    Echo Usage:  ReNumNet %@char[175]NetmailPath%@Char[174]
  8636.    Goto Out
  8637.    )
  8638. Cd %1
  8639. If Not Exist *.Msg (
  8640.    Echo No *.Msg Found in Directory: %_Cwd!
  8641.    Goto Out
  8642.    )
  8643. Echo Renumbering *.Msg in Directory: %_Cwd
  8644. Set Tmp=%@Unique[%_LastDisk:\]
  8645. Dir /B *.Msg >%Tmp
  8646. Set Count=0
  8647. Set RnCnt=0
  8648. Color Cyan On Black
  8649.  
  8650. :Loop
  8651. Set OldName=%@Upper[%@Line[%Tmp,%Count]]
  8652. Set NewName=%@Eval[%Count+1].MSG
  8653. Iff "%OldName" NE "**EOF**" Then
  8654. If NOT Exist %NewName (
  8655.    Ren /Q %OldName %NewName
  8656.    INC RnCnt
  8657.    Echos %@char[13]Renumbering %OldName -%@char[16] %NewName
  8658.    )
  8659. Else Goto End
  8660. EndIff
  8661. Inc Count
  8662. Goto Loop
  8663.  
  8664. :End
  8665. Del /Q %Tmp
  8666. Echo.
  8667. Echo %RnCnt messages renumbered.
  8668. Echo Done!
  8669.  
  8670. :Out
  8671. EndLocal
  8672. Color White On Black
  8673. Quit
  8674. _____O/_____
  8675.      O\
  8676. Groetjes,     .
  8677.            \\'I,\\
  8678.  
  8679. --- FM 2.02
  8680.  * Origin: Point of "The Ultimate", 31-53-303902/328506 (2:512/32.9)
  8681.  
  8682. ------------------------------------------------------------------------
  8683.  
  8684. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  8685.  
  8686.  BBS: ASTRIX          Conference: 4DOS            Imported:  7/16/1992
  8687.   To: GISLE VANEM                     Num: 13814      Date:  7/13/1992
  8688. From: NATHAN MELHORN                   Re: 0          Time:  7:04 am
  8689. Subj: FOR/NEXT LOOPS                 Prvt: N          Read: N
  8690.  
  8691. Gisle,
  8692.  
  8693. GV> I have discovered a problem with a FOR loop. I used this command to
  8694. GV> compress my COM/EXE files:
  8695. GV> global for %%f in (*.com *.exe) (  if %@filesize[%f,b] gt 4096 pklite
  8696. GV>   -n %f
  8697. GV> )
  8698. GV> When a file has been compressed, PKLITE will later in the loop inform
  8699. GV> me that the file is already compressed. Although the name and
  8700. GV> date/time is unchanged, 4DOS gets confused and treats the file as a
  8701. GV> new file. Why?
  8702.  
  8703.   You've heard Rex's explanation.  Now here's a workaround: you
  8704. have your global/for structure create a .btm file to execute.
  8705. Note that you can do this with a pause in-between, if you want to
  8706. review what it's going to do.  That's always good when trying out
  8707. a new .btm or alias!
  8708.  
  8709.   The following hasn't been tested!
  8710.  
  8711.     (
  8712.      echo @echo off >c:\temp.btm
  8713.      global for f in (*.com *.exe) do (
  8714.       if %@filesize[%f,b] gt 4096 (echo pklite -n %f >>c:\temp.btm)
  8715.      )
  8716.      rem - the first time, you should just review the file here -
  8717.      call c:\temp.btm >c:\temp.log
  8718.      del c:\temp.btm
  8719.     )
  8720.  
  8721.   The outer parentheses are to let me enter this all at the
  8722. command line, and could be omitted for a batch file.  I start out
  8723. putting in too many parentheses, thinking that's safer.  Echoing
  8724. batch output to a file might be chancy if 'lite queries you about
  8725. optimizing relocations, which is a good thing to do; however,
  8726. you'll also have to answer the question about overlays alot.
  8727.  
  8728.   BTW, on my disks, the cluster size is 2048, so that's the limit
  8729. I would probably set.  Are your partitions very big, or too small?
  8730. For backup, etc., I usually figure I should even 'lite the smaller
  8731. files.  If there are some forbidden files, it would be amusing to
  8732. write the .btm to account for that.
  8733.  
  8734.   << regards, Nate -- Mon  07-13-1992, 07:20 >>
  8735.  
  8736. PCRelay:CHANNEL -> #15 RelayNet (tm)
  8737.                                                                                                                    
  8738. PCRelay:DCINFO -> #16 MetroLink International Network
  8739. 4.10              DC Info Exchange MetroLink International Hub
  8740.           
  8741.  
  8742. ------------------------------------------------------------------------
  8743.  
  8744. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  8745.  
  8746.  BBS: ASTRIX          Conference: 4DOS            Imported:  7/16/1992
  8747.   To: PAT SHANAHAN                    Num: 13787      Date:  7/13/1992
  8748. From: DENNIS MCCUNNEY                  Re: 0          Time:  4:31 am
  8749. Subj: GREAT BAT... (1/2)             Prvt: N          Read: N
  8750.  
  8751. PS> MB│ For those who are leary of importing an unknown debug
  8752. PS>   │ script, I'm posting the XXencode version of the file.
  8753. PS>   │
  8754. PS>
  8755. PS> Please explain the 'XXencode' version of the 4DOS batch file posted.  How
  8756. PS> do I decode this to utilize the file?
  8757.  
  8758.     I don't know why he did that.  The BTM file was smaller than the
  8759. XXencoded post he did send.  XXencoding is a technique used for sending
  8760. 8 bit binary files over 7 bit comm links.  An XXencoder converts the
  8761. file into a 7 bit ASCII format,and an XXdecoder can reconstruct the
  8762. original 8 bit file at the other end.  You would need DOS versions
  8763. of XXENCODE/XXDECODE.  If you want them, I have a set that I can post as
  8764. a debug script.
  8765.  
  8766.     Meanwhile, the BTM file follows:
  8767.  
  8768. setlocal
  8769.  
  8770. set di=gosub sdi
  8771. set dah=gosub sdah
  8772.  
  8773. for %%w in (%&) do gosub word
  8774. endlocal
  8775. quit
  8776.  
  8777. :word
  8778. echo. ^:: blank line for new word
  8779. beep 20000,10 ^:: pause between words
  8780. set w=%@upper[%w]
  8781. set l=%@len[%w]
  8782. set ci=0
  8783. :iter_1_start
  8784. if %ci ge %l return
  8785. set c=%@substr[%w,%ci,1]
  8786. gosub char
  8787. set ci=%@eval[%ci+1]
  8788. goto iter_1_start
  8789.  
  8790. :char
  8791. echos %c
  8792. if %c==A (%di^%dah)
  8793. if %c==B (%dah^%di^%di^%di)
  8794. if %c==C (%dah^%di^%dah^%di)
  8795. if %c==D (%dah^%di^%di)
  8796. if %c==E %di
  8797. if %c==F (%di^%di^%dah^%di)
  8798. if %c==G (%dah^%dah^%di)
  8799. if %c==H (%di^%di^%di^%di)
  8800. if %c==I (%di^%di)
  8801. if %c==J (%di^%dah^%dah^%dah)
  8802. if %c==K (%dah^%di^%dah)
  8803. if %c==L (%di^%dah^%di^%di)
  8804. if %c==M (%dah^%dah)
  8805. if %c==N (%dah^%di)
  8806. if %c==O (%dah^%dah^%dah)
  8807. if %c==P (%di^%dah^%dah^%di)
  8808. if %c==Q (%dah^%dah^%di^%dah)
  8809. if %c==R (%di^%dah^%di)
  8810. if %c==S (%di^%di^%di)
  8811. if %c==T %dah
  8812. if %c==U (%di^%di^%dah)
  8813. if %c==V (%di^%di^%di^%dah)
  8814. if %c==W (%di^%dah^%dah)
  8815. if %c==X (%dah^%di^%di^%dah)
  8816. if %c==Y (%dah^%di^%dah^%dah)
  8817. if %c==Z (%dah^%dah^di^%di)
  8818. echo.
  8819. return
  8820.  
  8821. :sdi
  8822. beep 1000,2
  8823. echos ∙
  8824. return
  8825.  
  8826. :sdah
  8827. beep 1000,6
  8828. echos ∙
  8829. return
  8830.  
  8831.  
  8832. PCRelay:RUNNINGB -> #3 RelayNet (tm)
  8833. 4.11                Running Board 2126541349/DS/2125191791/HST/
  8834.                       
  8835.  
  8836. ------------------------------------------------------------------------
  8837.  
  8838. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  8839.  
  8840.  BBS: ASTRIX          Conference: 4DOS            Imported:  7/16/1992
  8841.   To: JOHN DURSO                      Num: 13775      Date:  7/11/1992
  8842. From: SERGE DELBONO                    Re: 0          Time:  7:27 am
  8843. Subj: If file older than XX          Prvt: N          Read: N
  8844.  
  8845.  Dear John Durso :
  8846. On Thursday, July 9, 1992, you wrote to All Users, speaking about "If
  8847. file
  8848. older than XX":
  8849.  
  8850. JD>I've discovered that 4DOS batch file language is so powerful, so
  8851. JD>the following should be simple to do in it.  Can you get 4DOS to
  8852. JD>look at the date of a file and , if its older than 15 days, have it
  8853. JD>do something.  If not, it would continue with the batch?
  8854.  
  8855. Very easy, read the docs :-))
  8856.  
  8857. @echo off
  8858. rem === do it %1 ==
  8859. rem == replace # by at-sign (due to RIME bugs)
  8860. set filedate=%#date[%#filedate[%1]]
  8861. set today=%#date[%_date]
  8862. if %@eval[%today-%filedate] gt 15 goto doit
  8863. echo nothing to do
  8864. quit
  8865.  
  8866. :doit
  8867. echo do the stuff...
  8868.  
  8869.  
  8870. <
  8871. _>erge on Friday, July 10, 1992. MakeHead 2.2a. by S.D.
  8872.  
  8873.  * OLX 2.2 * Tagline not found: Please notify your sysop!
  8874.  ■ SFMail Qwk v3.0
  8875.  
  8876. PCRelay:ALF -> #949 RelayNet (tm)
  8877. 4.11           ∞ ALF BBS ∞ Versailles FRANCE ≡ 33-1-39504698
  8878.                   
  8879.  
  8880. ------------------------------------------------------------------------
  8881.  
  8882. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  8883.  
  8884.  BBS: ASTRIX          Conference: 4DOS            Imported:  7/16/1992
  8885.   To: JOHN DURSO                      Num: 13803      Date:  7/13/1992
  8886. From: TOM RAWSON                       Re: 0          Time: 12:20 am
  8887. Subj: If file older than XX          Prvt: N          Read: N
  8888.  
  8889. JD>I've discovered that 4DOS batch file language is so powerful, so
  8890. JD>the following should be simple to do in it.  Can you get 4DOS to
  8891. JD>look at the date of a file and , if its older than 15 days, have it
  8892. JD>do something.  If not, it would continue with the batch?
  8893.  
  8894. Sure.  Try something like this:
  8895.  
  8896.   if %#eval[%#date[%_date] - %#date[%@filedate[filename]]] gt 15 ...
  8897.  
  8898.  
  8899.                                                       ... Tom
  8900.  
  8901.  
  8902. PCRelay:CHANNEL -> #15 RelayNet (tm)
  8903.                                        
  8904.  
  8905. ------------------------------------------------------------------------
  8906.  
  8907. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  8908.  
  8909.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/17/1992
  8910.   To: TOM HALL                        Num: 179        Date:  7/13/1992
  8911. From: DOMINIC STRANGE                  Re:            Time:  7:41 pm
  8912. Subj: Aliases                        Prvt: N          Read: N
  8913.  
  8914. Hi Tom,
  8915.  
  8916. TH>Boring _your_ aliases definitely are NOT!  Thank you for the routines;
  8917. they
  8918. TH>provide something I've had at the back of my mind for a long time!
  8919.  
  8920. I'll try to keep up the good work ;-)  Meanwhile, here's another one
  8921. for the collection (but only if you took advantage of a recently posted
  8922. batch file CD replacement {Original posted by ED Blackman, Thanks ED! })
  8923.  
  8924. If anyone want's the original batch let me know and I'll repost it as I
  8925. still use it for the scan routine.
  8926.  
  8927. Here's the modified form ro aliasing
  8928.  
  8929.  
  8930. ___---------------------------------------------------------------------
  8931.  
  8932. cd=IF #%1 EQ # NOPARAM^C:\DOS\FIND "%@UPPER[%1]" < D:\BATCH\ND.DIR > D:\BATCH
  8933.    \ND.DR1^TYPE D:\BATCH\ND.DR1 | INPUT %%ND^IF "%ND"=="" NOTFOUND^cd1
  8934.  
  8935. cd1=IFF EXIST D:\BATCH\ND.DR1 .AND. %@LINES[D:\BATCH\ND.DR1] GE 1 THEN^
  8936.      ET LN=%@LINES[D:\BATCH\ND.DR1] ^ ELSE ^ CDD %ND ^ QUIT ^ ENDIFF^cd2
  8937.  
  8938. cd2=CLS^SET TEXT=Press the cursor keys to select, [Enter] to choose, or [Esc]
  8939.     to quit.^SET CDIR=%@SELECT[D:\BATCH\ND.DR1,4,5,24,75,%TEXT] ^UNSET
  8940. TEXT^cd3
  8941.  
  8942. cd3=IF "#%CDIR" EQ "#" NOPARAM^END
  8943.  
  8944. NOPARAM=echo.^echo No directory specified.^echo.^echo Usage:  ND [Directory
  8945.     name or partial directory name]^QUIT 2
  8946.  
  8947. NOTFOUND=ECHO.^ECHO ND: Directory "%@UPPER[%1]" was not found!^ECHO.^QUIT 2
  8948.  
  8949. END=CDD %CDIR^UNSET CDIR
  8950.  
  8951. I store the user files in the batch dir but change it to whatever you want
  8952.  
  8953. Cheers
  8954.  
  8955.  
  8956. Dominic
  8957.  
  8958.  
  8959.  * SLMR 2.1a * Life is sexually transmitted and terminal.
  8960.  
  8961. --- Maximus 2.01wb
  8962.  * Origin: Golly! = A 4DOS BBS = [+44-734-320812] (2:252/21)
  8963.  
  8964. ------------------------------------------------------------------------
  8965.  
  8966. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  8967.  
  8968.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/17/1992
  8969.   To: NEAL JACKSON                    Num: 148        Date:  7/13/1992
  8970. From: JULES DUBOIS                     Re:            Time:  2:04 pm
  8971. Subj: Samples.btm                    Prvt: N          Read: N
  8972.  
  8973. Hello, Neal!
  8974.  
  8975. On Sunday July 12 1992, Neal Jackson writes to all:
  8976.  
  8977.  NJ> I am new to 4dos and have a question. Included in the 4dos docs
  8978.  NJ> is a Sample.btm. One of the examples is a Onceaday.btm.
  8979.  
  8980. I'm running 4DOS 4.01B.  I've found several problems with ONCEADAY. I think
  8981. these changes will fix it.
  8982.  
  8983.  
  8984. 1) The comment says to reset LASTDAY but the leading ':' prevents
  8985.    this from happening.
  8986.  
  8987.    Replace:     :   lastdate=0
  8988.    With:        SET   lastdate=0
  8989.  
  8990.  
  8991. 2) We need to execute the _time function, not evaluate the _time
  8992.    variable twice.
  8993.  
  8994.    Replace:       iff %time[%_time] gt %@time[06:00] then
  8995.    With:          iff %@time[%_time] gt %@time[06:00] then
  8996.  
  8997.  
  8998. 3) My online documentation doesn't show a variable named _today
  8999.    but there is a _date variable.
  9000.  
  9001.    Replace:         echo %@date[%_today] >! %_boot:\onceaday.dat
  9002.    With:            echo %@date[%_date] >! %_boot:\onceaday.dat
  9003.  
  9004.  
  9005. Hope this helps.
  9006.  
  9007. Jules
  9008.  
  9009. --- GoldED 2.40.P0623+
  9010.  * Origin: Avogadro's Nbr V.32-Northglenn CO 303-280-2931 (1:104/717.1)
  9011.  
  9012. ------------------------------------------------------------------------
  9013.  
  9014. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  9015.  
  9016.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/18/1992
  9017.   To: TONY NUGENT                     Num: 208        Date:  7/15/1992
  9018. From: SCOTT WUNSCH                     Re:            Time:  7:10 pm
  9019. Subj: Problem fine-tuning 4DOS       Prvt: N          Read: N
  9020.  
  9021. TN> INSTALL=c:\dos\pckwik\SUPERPCK.com /A+ /B+ /W+ /O- /Q+ ...
  9022. TN>  
  9023. TN> The problem with this is that this leaves the program using 16K 
  9024. TN> of my precious 640K.  Is there any way to do an install and 
  9025.  
  9026.   With MS-DOS 5.0 by itself, no.  With DR-DOS, yes.  With QEMM, 
  9027. yes.  Now I'm sure one of those 'yes's matches your predicament, so 
  9028. here's how to do it with both:
  9029.  
  9030.  DR-DOS:
  9031. ~~~~~~~~
  9032.  HiINSTALL=c:\dos\pckwik\SUPERPCK.com
  9033.  
  9034.  QEMM
  9035. ~~~~~~
  9036.  INSTALL=LOADHI.COM c:\dos\pckwik\SUPERPCK.com ...
  9037.  
  9038.                                 -= Scott \\'unsch =-
  9039.  
  9040. ... Black dress: The best thing for removing dog hair from the sofa.
  9041.  
  9042. --- Maximus/2 2.01wb
  9043.  * Origin: The Green Zone - Regina, Sask, Canada (1:140/23)
  9044.  
  9045. ------------------------------------------------------------------------
  9046.  
  9047. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  9048.  
  9049.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/19/1992
  9050.   To: BILL HAYLES                     Num: 227        Date:  7/15/1992
  9051. From: DOMINIC STRANGE                  Re:            Time: 10:29 pm
  9052. Subj: Aliases                        Prvt: N          Read: N
  9053.  
  9054. Hi Bill,
  9055.  
  9056. BH>(high horse mode on)
  9057. BH>Aliases don't have to be exciting to be useful.
  9058. BH>Me? Boring??
  9059.  
  9060. I'll agree, some of my most useful aliases are to correct typo's <g>
  9061. (fit, dur & dor all give me dir)
  9062. others like
  9063. x=except (
  9064. just save typing and allow command completion to work!
  9065.  
  9066. BH>(high horse mode off)
  9067. BH>Yeah, s'pose you're right, they're not *that* exciting <g>
  9068.  
  9069. anther slightly less boring one for you though
  9070.  
  9071. ff pushd^for %a in (C: D: E: F:) do (%a^pushd^*cd\)^for %a in (C: D: E: F:)
  9072.    do *dir %a*%1*.*%2* /p/b/d/f/s^popd^popd^popd^popd^popd
  9073.  
  9074. does exactly the same as anyother file finder except that it allows me to
  9075. find files that have a group of letters somewhere in them! either in the
  9076. filename or extention.
  9077.  
  9078. BH>DS> equt=set gtot=%@eval[%gtot + %nto]^set gfre=%@eval[%gfre + %nfre]
  9079.  
  9080. BH>etc, etc.
  9081.  
  9082. BH>Like it!. Have tidied it up and incorporated it into my aliases.txt.
  9083.  
  9084. always nice to be appreciated!
  9085.  
  9086. Cheers
  9087.  
  9088. Dominic
  9089.  
  9090.  
  9091.  * SLMR 2.1a * Do NOT look into laser with remaining eyeball
  9092.  
  9093. --- Maximus 2.01wb
  9094.  * Origin: Golly! = A 4DOS BBS = [+44-734-320812] (2:252/21)
  9095.  
  9096. ------------------------------------------------------------------------
  9097.  
  9098. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  9099.  
  9100.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/20/1992
  9101.   To: VIC BATES                       Num: 254        Date:  7/17/1992
  9102. From: STANTON HERSHMAN                 Re:            Time:  7:47 pm
  9103. Subj: File Description Search        Prvt: N          Read: N
  9104.  
  9105. Vic-
  9106. This may not be exactly what you are looking for, but try it.  You never saw
  9107. anything run this fast.
  9108. Part 1 of 3
  9109.  
  9110.  N DFF.ARJ
  9111.  E 0100 60 EA 27 00 1E 04 01 00 10 00 02 C3 C3 9C F1 18
  9112.  E 0110 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  9113.  E 0120 00 00 44 46 46 2E 41 52 4A 00 00 AD 7B CB 42 00
  9114.  E 0130 00 60 EA 27 00 1E 04 01 00 10 01 00 C3 A4 0B AF
  9115.  E 0140 18 2A 23 00 00 AF 24 00 00 51 42 DB 3D 00 00 20
  9116.  E 0150 00 00 00 44 46 46 2E 45 58 45 00 00 C4 47 15 CC
  9117.  E 0160 00 00 23 D6 87 01 8F 58 53 1B D0 BF EF 7B DE F7
  9118.  E 0170 BB BB DD DD CE 77 73 A0 5C F0 01 C2 51 28 00 1C
  9119.  E 0180 12 3A 01 52 44 28 D9 0B 9D CA 5A 97 24 A1 E4 95
  9120.  E 0190 24 AD 5B 12 5A 9A AD 54 D6 EA DA A2 51 55 56 95
  9121.  E 01A0 6A 69 AB 52 B6 DC B9 69 2B 08 6E F2 DF 7F FF FE
  9122.  E 01B0 FD F7 EF 9F B0 6E 38 2C 71 CD 0E 93 EE 02 10 00
  9123.  E 01C0 06 01 68 19 65 E8 03 00 B9 66 05 86 5A 70 7C 86
  9124.  E 01D0 9F 41 17 13 21 0C 4C 25 05 0A 87 52 73 6F 4F 4E
  9125.  E 01E0 C4 A7 D0 49 C1 47 43 13 13 3F 32 EA 4C 14 F4 F1
  9126.  E 01F0 31 D3 BA A9 C5 34 44 C7 4D D1 4D A8 A3 9B 9A 03
  9127.  E 0200 88 19 C0 64 04 83 86 11 65 F2 44 A9 43 1D DF 01
  9128.  E 0210 D0 01 27 CA CC F9 5A 20 59 44 2F 41 F8 3A CB F1
  9129.  E 0220 2F 9F 12 06 0A 2C CD 3A E2 72 2B 7C 1F 90 03 C9
  9130.  E 0230 A7 5C C9 5B 75 1F CF BA 03 B9 72 7D 28 80 B2 BD
  9131.  E 0240 F6 BD AB 73 5D 07 90 BB 8D 3D C2 63 28 14 93 37
  9132.  E 0250 3F 40 AB 55 38 4E AE 6F 57 40 A2 91 B3 FD AC BF
  9133.  E 0260 8F A7 BA 74 13 C9 D2 5E 59 4B EB 3B 85 75 92 FA
  9134.  E 0270 CA EC DE FA 3E 5F AB C2 3E AF DA 7E B6 E2 B6 FF
  9135.  E 0280 DF 6B 95 5B E5 30 3F 4C 01 3B E2 F2 37 9D 03 E0
  9136.  E 0290 5C E7 5D C8 DE 73 0F AE CE FF C1 79 FF 82 F9 FF
  9137.  E 02A0 07 4D FF 06 5B FE 0E 9F E4 15 06 78 77 BE C8 A5
  9138.  E 02B0 3F 0A 2C 77 7E C3 BD FF C8 AE B5 EF 83 E4 2E AD
  9139.  E 02C0 EF 82 A2 FD 4E 63 E4 57 4E F7 C0 AF 24 75 06 F2
  9140.  E 02D0 CB 54 2F C9 52 F7 C0 EB 57 B8 96 09 5F C4 85 2A
  9141.  E 02E0 5D EF E9 FE 21 A9 72 F9 23 F0 54 35 FC 85 C0 FF
  9142.  E 02F0 CB 03 E9 FF 85 FF F5 05 79 21 D1 31 3A D5 F4 E7
  9143.  E 0300 C2 E3 D5 DF 49 15 8C 97 DF 91 EF 6E E1 E4 CB 2E
  9144.  E 0310 A6 FF E4 43 2A 2F FF F8 FC C2 8E D7 FE 9F 4D E9
  9145.  E 0320 FD C1 B5 FD D7 74 78 E1 F5 D5 FE 80 7D 2D 56 CF
  9146.  E 0330 4A 52 EA 7B A3 EE F7 1C 7D CF A4 F7 20 4B AA DB
  9147.  E 0340 8E 46 F5 B8 2C CE 07 C5 76 16 59 B9 15 BD EE 41
  9148.  E 0350 5E 7C 9E 40 97 D1 FC 84 F5 BD 6A DF 2B BD C1 57
  9149.  E 0360 C5 75 CA EF 14 B4 AC 32 B1 FB 42 00 32 05 1B FE
  9150.  E 0370 F5 80 07 30 64 D0 41 80 02 0A 30 E0 FF F7 D9 74
  9151.  E 0380 44 1B 39 97 ED 80 3D 80 03 05 22 56 15 36 15 B0
  9152.  E 0390 24 E4 91 22 BC 4D 8A 7A F3 6B 2C 58 4B 40 0E 69
  9153.  E 03A0 C8 8B 43 21 59 68 4C D8 A7 5B 92 D9 4F D5 01 01
  9154.  E 03B0 9B B8 54 72 F0 74 61 04 D4 3B 38 14 04 98 C9 6F
  9155.  E 03C0 24 84 B7 5A 61 97 76 AC 8D 31 92 1F BC 20 52 22
  9156.  E 03D0 DD 74 87 39 9D 22 0D 02 0A 5E 35 92 0D 49 BA 51
  9157.  E 03E0 43 D8 AB 8E 34 59 0B 1D 48 E8 4D C7 22 AB 91 95
  9158.  E 03F0 6F 68 15 2D C1 A2 CD ED 1C 9C 2D 10 04 B3 48 75
  9159.  E 0400 0C 46 21 D5 83 90 9D 60 67 B9 92 1C 56 D6 CB 0C
  9160.  E 0410 A6 50 D3 C0 85 B2 13 07 30 11 49 87 1B 0E 29 9A
  9161.  E 0420 AB 6B A4 2C 89 42 2A E0 C5 88 33 24 5D 86 51 5F
  9162.  E 0430 50 7F 73 23 42 B8 0C D2 93 C6 DD 20 DB 69 B0 7B
  9163.  E 0440 60 3C E1 9E AB 83 2B A5 E5 59 9A D2 49 2D E8 87
  9164.  E 0450 63 E1 14 AC 33 78 AA 91 2C 74 5E 1B 0F 1D 87 35
  9165.  E 0460 60 04 D5 60 00 B6 25 5F 62 ED B7 66 83 52 62 C5
  9166.  E 0470 D0 90 2E DD 41 8B 5C 85 FA 13 F3 85 7E 85 B3 4E
  9167.  E 0480 33 D3 F6 84 63 8F D1 8E 0E 03 34 3F 68 86 6A 5D
  9168.  E 0490 C6 4D 08 DC 14 8B 5F 65 94 24 B2 1E 8D FD E0 E6
  9169.  E 04A0 7F 05 DB AA E0 4D BC 2E AA 32 C6 1A 23 34 C9 95
  9170.  E 04B0 BE A5 54 3F 4F A1 83 4B 94 A8 B9 B1 14 B3 F3 8D
  9171.  E 04C0 50 0F 40 23 3E 3D 3F B5 5E CE 0B 06 30 BA E5 BE
  9172.  E 04D0 D2 0E 60 C3 17 55 B4 90 E9 D5 51 AF A7 5E 1D 44
  9173.  E 04E0 50 D7 A1 97 5B 8B FB 88 41 93 B4 E2 06 50 01 47
  9174.  E 04F0 95 83 A6 0A B8 A9 61 CA 31 55 B5 95 2D 3C D4 8A
  9175.  E 0500 D4 A3 57 E9 7E 21 00 EC 96 DD EB A5 86 C3 59 7D
  9176.  E 0510 5B 71 CF 2C B0 01 DE E3 13 93 8D 7A 97 E3 B6 5F
  9177.  E 0520 7B 83 89 6A 87 B1 11 65 89 C3 96 A7 96 2E 95 2F
  9178.  E 0530 3C 40 03 D6 E5 D2 97 2F A5 D2 05 67 79 CC C5 5B
  9179.  E 0540 42 DF 98 8A A4 D9 11 D3 E4 39 D9 47 11 8E B8 7A
  9180.  E 0550 EB BD AA 7B 16 F0 17 CE D2 AD EA 8A 14 56 A9 FD
  9181.  E 0560 4B BB F7 3B 36 F8 8D 21 85 01 4E 15 BC A8 FD 7E
  9182.  E 0570 66 03 B1 A5 76 BE B1 63 EE F6 70 2B 9D 2B A4 BB
  9183.  E 0580 7E 6E 9D C8 1E 46 E0 46 A2 36 F1 C4 D5 15 F5 69
  9184.  E 0590 D5 DC 18 D9 04 F6 A9 BA AC C3 E7 80 23 A8 EA F9
  9185.  E 05A0 52 D1 C6 6B 8E C1 01 61 54 3C 2F 19 8C 32 A9 51
  9186.  E 05B0 70 FA 0D 6C F7 62 C1 54 F4 B6 EE 68 C5 F0 76 40
  9187.  E 05C0 D3 39 E8 52 42 CB AA 38 50 E3 3B 69 9F 31 A9 7C
  9188.  E 05D0 8B 8D 93 EF A6 B6 26 66 5B 67 4E 62 00 0A 51 8E
  9189.  E 05E0 8F 4B EB F9 C2 81 A1 13 06 A5 7A EB FA AA 3C AA
  9190.  E 05F0 77 F3 C1 38 8C 4B E9 86 53 0A A0 16 D7 D9 29 31
  9191.  E 0600 66 7F 7D EE D6 81 B2 AC 54 EB 3A DA 8C 03 43 08
  9192.  E 0610 6C B7 93 81 0A 40 4B 7E C7 89 66 4F 2B 27 63 79
  9193.  E 0620 5E C8 BB 6D 88 73 A3 15 6C 70 34 CC FA 12 1C 3A
  9194.  E 0630 88 0C 2D E3 9E D5 F5 9D 50 11 DB 32 CD 28 9C 70
  9195.  E 0640 99 AE 31 AF 92 F0 81 A0 DD CB 69 CA FE 34 D7 55
  9196.  E 0650 DB 44 FD DD FF 75 2D C2 0E 36 1E 57 BE AB 6B A9
  9197.  E 0660 C8 5E 0E CE 68 50 99 29 50 AC 6A 09 DA E3 8F F4
  9198.  E 0670 69 49 CE 5A 38 5B 29 35 66 3B D0 F1 EE D0 3B 1F
  9199.  E 0680 EB 6F CE 9C B8 A5 15 AE 44 DB 7E DF 6A 91 CF 67
  9200.  E 0690 07 60 1C 9F 4F 0D 84 AF 7A 6F 5B 04 72 C7 5B CB
  9201.  E 06A0 7C DE 6A D7 35 87 B7 D9 F6 0F 9D 83 69 FE 1B 2C
  9202.  E 06B0 4E B9 74 DE C2 9E 64 6D 4F 8B 68 C7 A1 EF 8B D1
  9203.  E 06C0 7E E8 89 D1 2E 8C 55 BC D6 3C 89 16 54 41 11 87
  9204.  E 06D0 33 3A 26 DD 37 6D 3A C2 63 83 51 FB B5 66 47 AE
  9205.  E 06E0 C3 F0 09 83 D6 07 68 AE 76 A4 B0 F7 89 5F C4 29
  9206.  E 06F0 32 F2 C4 8C CF D3 E7 B4 66 24 D6 CC 4B FA 67 C5
  9207.  E 0700 6A B8 1A 4F 68 7C D8 EB 22 02 C8 AB AF 59 15 AE
  9208.  E 0710 59 A0 D8 38 A7 22 88 75 B6 63 6C 96 89 FC AD 12
  9209.  E 0720 1B 87 F7 6B 13 7A E2 79 A9 34 49 0D A4 44 71 8F
  9210.  E 0730 D4 26 02 DF D0 51 95 C6 A6 FE 4A 92 5A 12 6C 86
  9211.  E 0740 19 2C A4 C2 1F D5 1C 2A EC 43 FD 9D 4B E3 46 C5
  9212.  E 0750 17 55 A7 9A B5 2B 56 8F AE 9F 71 C8 D2 17 55 6D
  9213.  E 0760 1C 0C FE 46 7F 28 21 C8 09 85 1D B4 E1 C0 B3 84
  9214.  E 0770 1E 09 96 5D A6 C0 01 58 0A 73 A8 56 4F 4A 70 2C
  9215.  E 0780 A1 34 6D 29 30 D2 1F 49 72 D3 02 04 9C 54 98 E5
  9216.  E 0790 12 E3 46 2A BA 5F 5B AA BA 70 1A CF F9 FD 07 D5
  9217.  E 07A0 6C 58 D8 69 F3 8E 26 2F 20 01 DE A0 2C 71 42 93
  9218.  E 07B0 92 29 7F 7B C2 69 60 51 5A 79 DA AD 4E B3 3D 7D
  9219.  E 07C0 1D 04 ED B7 D3 37 F0 78 DD E6 2C D4 2F FB 30 79
  9220.  E 07D0 1D 8C C6 61 13 4C 47 85 FB 1C D9 76 13 05 D5 5A
  9221.  E 07E0 F5 BF 71 77 66 AC B3 22 DB 62 4F 42 E0 01 7C 99
  9222.  E 07F0 52 D5 06 7B BC 27 3C 78 27 5C 9D 64 4C 48 51 82
  9223.  E 0800 C9 60 32 BE E6 65 54 B0 42 D8 1B BB 31 2A 68 70
  9224.  E 0810 50 EF 21 34 F0 1C 5D AB FD 3E 10 7C A1 67 03 03
  9225.  E 0820 E5 54 62 F2 A4 85 5C 14 49 BE C5 28 08 66 2B F5
  9226.  E 0830 2B 11 5E 7D ED 48 C3 4A AA EB BE 7B 20 8A B9 49
  9227.  E 0840 4B 01 D8 22 4A 2E 3A 2A CD 8C 44 62 22 71 B5 11
  9228.  E 0850 00 87 C4 3D 5F 1C 21 C1 08 10 CF 11 58 83 F4 E4
  9229.  E 0860 DA 91 C2 7C 3D 49 73 0E B6 AD 43 6E EF 83 69 63
  9230.  E 0870 B6 92 39 79 CE 5C 72 C1 3A DF 74 75 97 35 5B E8
  9231.  E 0880 15 61 D5 4F 2D 47 2C 4D 36 10 02 CC 19 AE 90 DB
  9232.  E 0890 ED 41 AF D2 66 5B C4 91 37 6A 59 E5 7A 2F E0 E5
  9233.  E 08A0 28 A7 69 46 EC 83 BF DD 6E BD E5 22 F4 95 B6 E1
  9234.  E 08B0 04 EC 88 23 FC 30 F6 24 2C FC BD F4 65 B8 EE 06
  9235.  E 08C0 B5 30 46 FD 2D AB 7D 7D 71 BF D1 94 72 0D 8A 82
  9236.  E 08D0 59 2E 2E E9 E2 5B A0 B3 C3 05 9D 9D 16 09 34 98
  9237.  E 08E0 91 71 3A 7A 7B 93 FE 62 1F 3B BA DF 36 15 75 88
  9238.  E 08F0 23 1F 64 9C BB 17 C8 3F C1 03 39 85 8F 85 53 19
  9239.  E 0900 2F BB 5F 57 72 E5 EA 96 6E 59 7D F9 7E 51 DE 95
  9240.  E 0910 FA EE 10 CD ED 3A EF 62 CC 44 53 77 96 C6 D9 3E
  9241.  E 0920 66 76 43 2C DB 02 07 B4 62 78 97 27 81 25 B7 A3
  9242.  E 0930 C0 3F 4C 67 53 2D B7 4D 81 45 62 13 C4 B2 F7 6B
  9243.  E 0940 09 8E 96 5B 88 B4 FD EC B7 21 79 04 F2 D5 C3 E0
  9244.  E 0950 15 FA D4 E5 B8 5E 0E 09 35 3A F1 29 4D 1C BB 09
  9245.  E 0960 CD DF 45 04 D6 CE AF 65 80 40 DC DF 27 37 CF 55
  9246.  E 0970 24 F5 19 94 6D 84 EF 62 D3 DC 1C 8F 1F 5C 5B 9A
  9247.  E 0980 A1 0B 41 23 70 70 4B 5B B0 02 49 69 B4 1F D3 DD
  9248.  E 0990 DF FB E2 33 C0 20 8B 0C AB C4 C7 82 C8 05 CE 29
  9249.  E 09A0 52 59 09 D3 AE 66 AE 2B E3 AD 16 AC 6A 97 04 FC
  9250.  
  9251.  
  9252.            >> Message length exceeded, split by WILDMAIL! v2.04 <<
  9253.                         >> Continued in next message <<
  9254.  
  9255. ------------------------------------------------------------------------
  9256.  
  9257. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  9258.  
  9259.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/20/1992
  9260.   To: VIC BATES                       Num: 255        Date:  7/17/1992
  9261. From: STANTON HERSHMAN                 Re:            Time:  7:47 pm
  9262. Subj: File Description Search        Prvt: N          Read: N
  9263.  
  9264.            >> Message length exceeded, split by WILDMAIL! v2.04 <<
  9265.                      >> Continued from previous message <<
  9266.  
  9267.  
  9268.  E 09B0 02 B1 04 D0 D5 8B 52 35 5C 0E F0 E5 48 B1 30 6F
  9269.  E 09C0 9D 95 7A FC 87 D6 1C EC 95 E0 E8 B5 92 F5 CE 0D
  9270.  E 09D0 A1 7C EF C8 71 F7 42 AD 6B 5F B0 73 D1 BB B0 FF
  9271.  E 09E0 34 B5 21 3A AD 11 23 8B E6 EB B5 59 BB 5E 29 3A
  9272.  E 09F0 D4 C2 B6 83 1D F8 12 F4 6C B2 23 9B 74 32 79 5B
  9273.  E 0A00 23 0A BD 48 C6 0D 26 6B DC B9 7F 68 71 88 46 81
  9274.  E 0A10 C1 51 C6 95 7E A3 0A FB 72 ED 28 A1 45 A7 A5 7E
  9275.  E 0A20 52 32 CA 1E 1F 13 D4 B2 62 76 1D A0 EF 00 C7 2C
  9276.  E 0A30 6F 02 D6 D8 05 0D 66 CD 9B 46 3F 2C D5 CE C0 DE
  9277.  E 0A40 C8 03 7E 46 0F 7D 8F 0C 49 58 38 92 96 E2 BC 72
  9278.  E 0A50 F1 5C 27 31 F6 F9 46 CF AD 18 01 0A 65 DA 4E 48
  9279.  E 0A60 B1 C7 0A CC CE 68 FF EA 62 96 92 9D FD 19 1D 78
  9280.  E 0A70 35 05 BC CA 06 B7 A2 EA D5 86 3C 4B 2D DC 2B 5B
  9281.  E 0A80 F8 DB 3F 3E 78 32 AE 9F 99 BB 91 0D 57 E8 98 6A
  9282.  E 0A90 EF D5 0F AC B4 44 15 96 07 DE FF 9E 5C 8A 25 C3
  9283.  E 0AA0 BD ED 59 1F AE 6E 9C 5B AD 4C 98 AB B2 BB C3 ED
  9284.  E 0AB0 25 FA 8F 97 AA 3C BD 39 1E 33 AD 23 AD 9C 0A 6E
  9285.  E 0AC0 F8 BD 75 9A 47 E7 B6 CD 5B F2 CE 39 0E C4 4E E8
  9286.  E 0AD0 3F 02 1B 88 2C 8F A7 98 CE 43 F8 84 20 B5 74 23
  9287.  E 0AE0 62 41 92 39 9B EE F9 0B F2 48 C6 23 E1 C4 9E 21
  9288.  E 0AF0 E8 52 3D 79 69 15 04 79 C8 FC C8 D2 F9 3C 44 62
  9289.  E 0B00 11 DB AF 34 44 A9 82 3A 84 2D 8C 64 B2 8B E9 32
  9290.  E 0B10 81 66 6C 63 FC C3 F5 DC 38 C3 78 BB 2F 77 2D 66
  9291.  E 0B20 75 05 93 A6 AD CE 08 8B 0C B5 7D 69 15 84 5B 65
  9292.  E 0B30 AB EC C8 BF 23 5D B4 9E 21 A0 74 59 74 B2 E4 4D
  9293.  E 0B40 11 67 97 4B A4 23 00 84 FB A8 72 19 F6 09 B2 4E
  9294.  E 0B50 6B 78 23 46 CB 30 F5 3C F1 CB 00 EE 0C EE A2 AF
  9295.  E 0B60 A9 DC 69 2B A9 A4 42 E5 D6 AF B7 64 3B 9C F5 55
  9296.  E 0B70 6F DA 2D CF 55 A4 03 33 03 EB 25 28 8B 19 01 A4
  9297.  E 0B80 CC 55 A6 1A 04 56 4E E1 F7 D2 15 0B CA 3A BB E0
  9298.  E 0B90 1B 82 24 8E F7 15 B7 D6 E8 39 A7 D1 80 0A F2 4F
  9299.  E 0BA0 A9 3B 8A 3E D8 53 2A 87 B3 DA 0B 03 CD 44 BB 3F
  9300.  E 0BB0 04 D0 DD 6E 30 1D A2 9F 43 A2 0F B8 4F 4E A4 32
  9301.  E 0BC0 9E 40 88 30 25 C6 A6 5E 03 EA 04 E9 0D 90 0B 2A
  9302.  E 0BD0 DF 1D 37 56 59 06 4D 11 F4 6D 0B 71 82 83 B3 8D
  9303.  E 0BE0 F4 8A B0 B8 B0 20 CE 53 FA 97 BC D5 37 6C 0C 0D
  9304.  E 0BF0 AE 30 02 4A BB E5 8B E0 F3 C4 3C DA 51 98 13 1A
  9305.  E 0C00 A8 22 21 2B 2E 92 F9 B1 AF ED E2 9C 1E 6B 01 64
  9306.  E 0C10 93 D8 61 19 8C AE 9D B1 BE 7C BA 04 BF 9C 42 08
  9307.  E 0C20 4F 7D B4 5B E0 06 DD 08 AE 71 68 41 BB FB 0B 79
  9308.  E 0C30 3C 82 15 AC E0 A4 19 5A AF 13 88 41 F0 2C AB E7
  9309.  E 0C40 AC 11 5E CC 0F 37 83 EB CC 51 9E 43 F4 04 B7 FD
  9310.  E 0C50 0F 3B CC 2C 09 CB 46 C3 4C 1F 32 D3 DA 61 60 33
  9311.  E 0C60 A6 6A 92 5F 98 B2 B2 AC 1F CA 60 F3 43 03 6F 42
  9312.  E 0C70 BC E9 16 48 34 65 1E EA 91 E9 75 AD 1D 10 29 1B
  9313.  E 0C80 BB CE 60 EB 0F 76 45 67 91 DD 5E CE FD E4 B4 9D
  9314.  E 0C90 42 28 86 27 07 42 13 CE E9 43 17 65 8B F1 99 F1
  9315.  E 0CA0 71 91 A2 75 3C 08 57 5F 4B CD 6D CB B9 6D CA DF
  9316.  E 0CB0 80 9D DF 9E 70 1D 2E E9 8F 7F 11 49 C0 FF 22 F6
  9317.  E 0CC0 5D A5 4C 8B BF 81 C8 02 43 1A 8C 6E 9E 29 8E 3D
  9318.  E 0CD0 8E E7 8E BE E2 CA 05 48 51 16 D8 18 D0 5F 88 A0
  9319.  E 0CE0 57 F6 38 8C C5 D3 DB 42 ED 14 11 8A D4 E1 D4 56
  9320.  E 0CF0 87 70 C2 E0 44 0E 82 93 FA 86 23 A6 22 DE 16 78 
  9321. --- msgedsq 2.1
  9322.  * Origin: Cat's_Meow <From_The_Oldest_City_In_The_USA> (904)-794-1591
  9323. (1:3620/8)
  9324.  
  9325. ------------------------------------------------------------------------
  9326.  
  9327. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  9328.  
  9329.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/21/1992
  9330.   To: DARREN KAY                      Num: 285        Date:  7/17/1992
  9331. From: ANDREA MENNINI                   Re:            Time: 11:14 am
  9332. Subj: 4dos in os2                    Prvt: N          Read: N
  9333.  
  9334. Hi Darren,
  9335.  
  9336. in your message of <Thursday July 09 1992>, you said that:
  9337.  
  9338.  DK> I have justed installed os/2 2.0.  I would like to be able to start a
  9339. "DOS
  9340.  DK> Window" except that it starts 4dos.com instead of
  9341.  DK> ..os2\mdos\command.com..?
  9342.  DK> Can anybody recommend a way to have a 4dos box just like a dos box?
  9343.  
  9344. It's not clear from your message if you are not able to create a 4DOS box,
  9345. instead of a COMMAND.COM one, or you are not able to change the associated
  9346. icon. BTW, here are the answer for the two questions.
  9347.  
  9348. How to make a 4DOS box
  9349. ----------------------
  9350.  
  9351.  1) Get a DOS object
  9352.  2) Click over the icon with the mouse right button
  9353.  3) Click over the arrow near Open with the left button
  9354.  4) Choose the Session Bookmark
  9355.  5) Choose the session type (full screen or windowed)
  9356.  6) Click over DOS settings
  9357.  7) Choose DOS_SHELL
  9358.  8) Type in the path of 4DOS.COM
  9359.  9) Click save
  9360. 10) Double click over the reduced icon in the upper left corner.
  9361.  
  9362. How to change the 4DOS box ICON
  9363. -------------------------------
  9364.  
  9365.  1) Get the new 4DOS object with the old DOS icon
  9366.  2) Click over the icon with the mouse right button
  9367.  3) Click over the arrow near Open with the left button
  9368.  4) Choose the General bookmark
  9369.  5) Click on Edit
  9370.  6) Look at the Icon Editor Title bar: it will be something like this:
  9371.  
  9372.         Icon Editor - E:\WP!1.ICO
  9373.  
  9374.     Write or remember the path
  9375.  7) Choose File | Open and open the 4DOS icon
  9376.  8) Choose File | Save as... and save it with the previous pathname (e.g.
  9377.     E:\WP!1.ICO)
  9378.  9) Exit from Icon Editor
  9379. 10) Double click over the reduced icon in the upper left corner
  9380.  
  9381. Regards
  9382.  
  9383.   Andrea, IK4FDQ
  9384.  
  9385. --- GoldED 2.40.P0623+ / Squish 1.01-OS2
  9386.  * Origin: 4DOS is 4 DOS! (2:332/404.1)
  9387.  
  9388. ------------------------------------------------------------------------
  9389.  
  9390. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  9391.  
  9392.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/20/1992
  9393.   To: DOMINIC STRANGE                 Num: 248        Date:  7/17/1992
  9394. From: ERA ERIKSSON                     Re:            Time: 12:44 pm
  9395. Subj: Post that prompt (was: De      Prvt: N          Read: N
  9396.  
  9397.  * Quoting Dominic Strange (2:252/21) to Jamie Wither on 13 Jul 1992:
  9398.  > PS Post that prompt! here's mine
  9399.  
  9400. How about a simplistic one? Note the magic with bright vs non-bright
  9401. attributes.
  9402.  
  9403. PROMPT=$e[s$e[0m$e[1;59f$d  $t$e[u$e[0m($z)%p $p$g $e[1m
  9404.  
  9405. The "%p" is my dirlevel, i e how many directories I've pushd:d. I believe I
  9406. posted the P*ushd and PP/POPD aliases a few months ago, but if anybody cares
  9407. to see them again, I'll be happy to oblige.
  9408.  
  9409. /* era */
  9410.  
  9411. --- 4dos 4.01/B && GoldEd
  9412.  * Origin:   root:V9zG.Iy.9ndH2:0:0:era, o . ,,:/:/bin/bash   (2:220/851.95)
  9413.  
  9414. ------------------------------------------------------------------------
  9415.  
  9416. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  9417.  
  9418.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/22/1992
  9419.   To: SCOTT GILBERT                   Num: 301        Date:  7/19/1992
  9420. From: MICHAEL LOVELL                   Re:            Time: 12:08 am
  9421. Subj: 4DOS "dir"                     Prvt: N          Read: N
  9422.  
  9423. On 7-13-92 Scott Gilbert, in reply to Yves Lavoie said:
  9424.  
  9425. SG>Gee, my 'MORE' doesn't let me scroll/search at all.  All it
  9426.   >does is display a screenful, then pause.  I'm running DOS
  9427.   >3.3, so maybe MS improved the MORE program on later
  9428.   >versions of DOS.  I suppose one could write an alias that
  9429.   >would use 4dos' LIST to get the scroll/search ability, but
  9430.   >I find that the 'dir /p' works well for me.
  9431.  
  9432. Scott, try either of these and see if you don't like them as well or
  9433. better than dir/p
  9434. dl=*dir/2av >! c:\dirlist ^ *list c:\dirlist
  9435. This creates a two column directory sorted alphabetically by extension
  9436. with the subdirs first and redirects it to a file which is then loaded
  9437. into 4DOS's List viewer.
  9438.  
  9439. Or: dld=*dir/av >! c:\dirdes ^ *list c:dirdes
  9440. This loads a single column dir into list so that if you have
  9441. descriptions attached to files you can read them as well.
  9442.  
  9443. Of course this does creat 2 additional files in your root directory, but
  9444. unless you have completely unmanagable directories with hundreds of
  9445. files in them the created files shouldn't be too long. I'm sure there
  9446. would be a way to automatically delete the files when you exit List by
  9447. hitting the Esc key but I haven't taken the trouble to create it yet.
  9448. The ! after the redirection symbol (>!) is necessary on my system
  9449. because I have NOCLOBBER set in my 4DOS.INI file.
  9450.  
  9451. I personally have about a dozen different aliases for various forms of
  9452. dir madeup so I can fine tune my output to the situation but I realize
  9453. not everyone needs that level of control or would go to that much
  9454. trouble. But this gives you a general idea of the power and flexibility
  9455. of dir aliases that can be constructed. Enjoy.
  9456.  
  9457. Michael
  9458.  
  9459.  
  9460.  * OLX 2.1 TD * Toto, I don't think were in DOS anymore
  9461.  
  9462.  
  9463. --- WM v2.03/91-0020
  9464.  * Origin: Desktop Micro's BBS  309.662.2017 (1:232/302)
  9465.  
  9466. ------------------------------------------------------------------------
  9467.  
  9468. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  9469.  
  9470.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/22/1992
  9471.   To: TROY PRATHER                    Num: 318        Date:  7/18/1992
  9472. From: MIKE DUNNAGAN                    Re:            Time:  8:58 pm
  9473. Subj: 4DOS and DRDOS 6.0 co          Prvt: N          Read: N
  9474.  
  9475. Troy:
  9476.  
  9477. On Tuesday July 14 1992 _Troy Prather_ wrote to Dann Lunsford:
  9478.  
  9479. TP> @PROMPT=$e[1;1f$e[47m$e[K$e[1;1f$e[1;37;41m $e[1;2f`%@DOSMEM[k]`K Free
  9480. TP> Mem $e[1;23f$e[1;37;41m $d  $t$h$h$h    Shell $c$z$f
  9481. TP> $e[1;64f$e[1;37;41m$e[K `%@DISKFREE[C:,m]`M Free On HD
  9482. TP> $e[1;36;44m$e[25;1f$p$g
  9483.  
  9484. I like to see other people's prompts. This one of yours is pretty cool. I
  9485. have a similar one I use. The only thing I don't like about yours is the fact
  9486. that the background is blue. I have a hard time with a blue background. It
  9487. was still cool though. Here is mine for those that care (probably not too
  9488. many).
  9489.  
  9490. prompt $e[s$e[1;1f$e[1;44;33m$e[KShell$q($z)      $D      $t XMS=(%@XMS[K]k)
  9491. DOS=(%@DOSMEM[K]k)$e[u$e[1;41;37m$e[s$e[25;1H$P$g$e[1;40;33m S'up?
  9492.  
  9493. --- GoldED 2.40
  9494.  * Origin: Custer was fitted for an Arrow shirt (1:3641/1.203)
  9495.  
  9496. ------------------------------------------------------------------------
  9497.  
  9498. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  9499.  
  9500.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/22/1992
  9501.   To: DOMINIC STRANGE                 Num: 326        Date:  7/19/1992
  9502. From: TOM HALL                         Re:            Time:  2:31 pm
  9503. Subj: Aliases                        Prvt: N          Read: N
  9504.  
  9505. On Wednesday July 15 1992, at 22:29, Dominic Strange at 2:252/21 wrote to
  9506. Bill
  9507. Hayles:
  9508.  
  9509.  DS> ff pushd^for %a in (C: D: E: F:) do (%a^pushd^*cd\)^for
  9510.  DS> %a in (C: D: E: F:) do *dir %a*%1*.*%2*
  9511.  DS> /p/b/d/f/s^popd^popd^popd^popd^popd
  9512.  
  9513.  DS> does exactly the same as anyother file finder except
  9514.  DS> that it allows me to find files that have a group of
  9515.  DS> letters somewhere in them! either in the filename or
  9516.  DS> extention.
  9517.  
  9518. It seems to work great here for file names, but not extensions. when I
  9519. do FF CTL, I get no files listed, yet another file finder reports a
  9520. number of them.
  9521.  
  9522. --- GoldED 2.40.P0623+
  9523.  * Origin: Ten Forward (1:342/1)
  9524.  
  9525. ------------------------------------------------------------------------
  9526.  
  9527. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  9528.  
  9529.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/23/1992
  9530.   To: MICHAEL LOVELL                  Num: 372        Date:  7/21/1992
  9531. From: SCOTT WUNSCH                     Re:            Time:  2:16 pm
  9532. Subj: 4DOS "dir"                     Prvt: N          Read: N
  9533.  
  9534. ML> dl=*dir/2av >! c:\dirlist ^ *list c:\dirlist
  9535.  
  9536.   What about:
  9537.  
  9538. DL=*DIR/2AV |*LIST/S
  9539.  
  9540.   That doesn't add any extra files in your root.
  9541.  
  9542.                                 > Scott \\'unsch <
  9543.  
  9544. ... That the mental hospital?...room 38 empty? Great! I'm still free!
  9545.  
  9546. --- Maximus/2 2.01wb
  9547.  * Origin: The Green Zone - Regina, Sask, Canada (1:140/23)
  9548.  
  9549. ------------------------------------------------------------------------
  9550.  
  9551. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  9552.  
  9553.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/23/1992
  9554.   To: MARCELLO SEGAL                  Num: 332        Date:  7/17/1992
  9555. From: O. VANBIERVLIET                  Re:            Time:  1:39 pm
  9556. Subj: Aliases                        Prvt: N          Read: N
  9557.  
  9558. On (06 Jul 92) Marcello Segal wrote to Olivier Vanbiervliet...
  9559.  
  9560.  MS> In a message to Joeri Golsteyn <26 Jun 92 11:09> Olivier Vanbiervliet
  9561.  MS> enscribed:
  9562.  MS>  OV> chrono=`timer ^ %& ^ timer`
  9563.  MS>  OV>  {very usefull for programmers: if you want to know if
  9564.  MS> 
  9565.  MS>         Not so usefull for programmers, as the minimum the 4dos can
  9566.  MS> handle
  9567.  MS>         is 0.06 seconds.
  9568. Sorry, I think that depends on your system,
  9569. I have tested my dirchanger-utility and results of 0.05 or less
  9570. are not unusual...
  9571.  
  9572.  MS>         And, furthermore, the alias it's not right, as it should be
  9573.  MS>     chrono=timer^ %&^ timer^
  9574.  MS>         Now it will work.
  9575. I'm not so shure of that, I mean, my alias works fine here.....
  9576.  
  9577. However, friendly greetings,
  9578. oVan, Bruges, Belgium
  9579. --- PPoint 1.33
  9580.  * Origin: Breydel point 3, alias (2:291/903.3)
  9581.  
  9582. ------------------------------------------------------------------------
  9583.  
  9584. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  9585.  
  9586.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/25/1992
  9587.   To: ED KOWALSKI                     Num: 416        Date:  7/22/1992
  9588. From: RON WESTLAKE                     Re:            Time:  9:42 pm
  9589. Subj: .=..\                          Prvt: N          Read: N
  9590.  
  9591.  >>  WK> Why not save one keystroke and say:
  9592.  >>  WK> .=..\
  9593.  
  9594.  > This alias wouldn't last long on my system. :-) Since . normally equals
  9595.  > the current directory commands like 'dir .', 'copy . a:' or 'del .'
  9596.  > wouldn't produce the desired results.
  9597.  
  9598. Here is an alias that I use quite often:
  9599.  
  9600. ..*.....  IFF !%1 == ! THEN^CD %0^ELSE^CD %0\%1^ENDIFF
  9601.  
  9602. Ron
  9603.  
  9604. ---
  9605.  * Origin: GENESIS * Portland, OR USA * (503)257-2462 * 
  9606. (1:105/18@fidonet.org)
  9607.  
  9608. ------------------------------------------------------------------------
  9609.  
  9610. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  9611.  
  9612.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/25/1992
  9613.   To: ALL                             Num: 394        Date:  7/20/1992
  9614. From: TONY NUGENT                      Re:            Time:  9:12 pm
  9615. Subj: 4DOS in RamDrive 1of3          Prvt: N          Read: N
  9616.  
  9617. This is a summary of several messages describing how to set 
  9618. things up in order to boot the primary (and subsequent) 4DOS   
  9619. shells from a RamDrive, lock, stock and barrell.  It is   
  9620. recommended reading to all those that use a RamDrive.   
  9621.    
  9622. This message is in three parts, with a total of a little under   
  9623. 400 lines (without the origin lines).   
  9624.    
  9625. Preliminary   
  9626. ___--------   
  9627.    
  9628. Special note to Rex Conn:  The tips described here are extremely   
  9629. unusual and highly useful, and (IMHO) it would be a very good   
  9630. idea if this information was distributed with the official 4DOS   
  9631. documentation (along with a collection of any other useful tips,   
  9632.    
  9633. aliases and batch files that I'm sure many people have been   
  9634. collecting). I'm one of the ones here lucky (and sensible) enough   
  9635.    
  9636. to have access to the 4DOS echo, otherwise I would not have been   
  9637. able to learn how to do all that follows.   
  9638.    
  9639. And thanks once again Rex and Co. for a great program.  (When   
  9640. *will* 4DOS become a full-fleged operating system?)   
  9641.    
  9642. Thanks to the following that I am aware of who have pointed me in   
  9643. the right direction: Darryl Gregorash, Jc Cranfill and Scott   
  9644. Wunsch.  Special thanks also to any other unknown others   
  9645. brilliantly crazy enough to try the stunts pulled here to find   
  9646. that they actually worked!  I take no credit for any of this   
  9647. apart from the effort of putting this document together for   
  9648. prosperity.  
  9649.  
  9650.    
  9651. You are all encouraged to export (or screen capture) and   
  9652. appropriately edit this message (please leave in the above   
  9653. credits), archive the file as 4RAM_TIP.xxx (zip, lzh, arj,   
  9654. whatever), and upload it to you local BBS's for others not   
  9655. priviliged to have access to this echo to benefit from the   
  9656. madness that follows.   
  9657.    
  9658. Now down to business:   
  9659.    
  9660. Background   
  9661. ___-------   
  9662.    
  9663. The problem with booting and running a primary 4DOS shell (and   
  9664. any other command processor) from a RamDrive lies in the fact   
  9665. that:   
  9666.    
  9667. - the RamDrive must be created through software drivers, usually   
  9668.   via the CONFIG.SYS file; and   
  9669.    
  9670. - 4DOS.com (and support files) must be in the RamDrive by the   
  9671.   time it is needed at the end of the CONFIG.SYS boot up   
  9672.   procedure.   
  9673.    
  9674. In effect, the RamDrive must be set up with 4DOS in it, ready to   
  9675. go, by commands in the CONFIG.SYS file.  This is not easy to do,   
  9676. but it can be done using some interesting tricks.   
  9677.    
  9678. Needed   
  9679. ___---   
  9680.    
  9681. 1.  Emergency boot floppy for the a: drive (in case things don't   
  9682.     go quite as expected).   
  9683. 2.  4DOS  - of course!   
  9684. 3.  ARJ.exe archiver (version 2.30 is described here, but earlier   
  9685.     versions may also work with the correct syntax).   
  9686. 4.  Appropriate hardware: a 286, 386 or 486 with plenty of   
  9687.     EMS/XMS RAM.   
  9688. 5.  Software to support a fairly large RamDrive of at least 1Mb   
  9689.     (although this will work with much less that this).   
  9690.     MS-RAMDRIVE.SYS, Super PC Kwik's PCKRAMD.SYS & SUPERPCK.com   
  9691.     or similar will work with good results.   
  9692. 6.  Optional but highly recommended: DOS5 with QEMM (throw away   
  9693.     HIMEM.SYS & EMM386.exe, but it *will* work with them), or   
  9694.     DR-DOS6; a good disk cache like PCKWIK or HyperDisk.  286's   
  9695.     will do well with QRAM or similar to gain the benefits of   
  9696.     loading high into the UMB's.   
  9697.    
  9698. Strategy and Summary of Events   
  9699. ___---------------------------   
  9700.    
  9701. Load the memory manager(s).  Load the RamDrive device driver(s).   
  9702. Place the 4DOS (and any other) files into the RamDrive using the   
  9703. INSTALL command and a self-extracting ARJ archive file.  With the   
  9704. SHELL directive pointing to 4DOS in the RamDrive, complete the   
  9705. CONFIG.SYS instructions and then allow 4DOS to read 4DOS.INI,   
  9706. 4START.BTM and (optionally) AUTOEXEC.BAT from the RamDrive.  The   
  9707. primary and subsequent 4DOS shells are now all run from the   
  9708. RamDrive at lightening speed!   
  9709.    
  9710. Warning   
  9711. ___----   
  9712.    
  9713. The following procedure requires modification of most of the 4DOS   
  9714. configuration files: CONFIG.SYS, 4DOS.INI, 4START.BTM,   
  9715. AUTOEXEC.BAT, 4EXIT.BTM and your Alias configuration file and   
  9716. Command Line History file.   
  9717.    
  9718. Make sure that you have saved all these files, and have handy a  
  9719.  
  9720. bootable floppy disk in case things do not go as planned!   
  9721.    
  9722. Preliminary Notes   
  9723. ___--------------   
  9724.    
  9725. In what follows, I have presumed that the 4DOS directory on the   
  9726. C: boot drive is C:\DOS\4DOS.  I have called my alias file   
  9727. 4ALIAS.CNF and my history file 4HISTory.CNF.  Substitute these   
  9728. names for your own.   
  9729.    
  9730. I place the 4DOS files in my RamDrive in a directory called   
  9731. D:\4DOS.  Tailor this to your own tastes, but it is best to keep   
  9732. them out of the root directory of the RamDrive.   
  9733.    
  9734. I have set this up and tested this on a 386DX33 with 5Mb RAM,   
  9735. with DOS 5, QEMM 6.01 (and DESQview 2.41).  It works well with   
  9736. plain DOS, 4DOS, ms-RAMDRIVE.SYS, Super PC Kwik Cache/RamDrive,   
  9737. HyperDisk, HIMEM.SYS/EMM386.exe (yuk), ms-SmartDrv.SYS (yuk) and   
  9738. the new ms-SmartDrv.exe (released with Windows 3.1).   
  9739.    
  9740. To set up my multiple CONFIG.SYS and AUTOEXEC.BAT files, I use   
  9741. RECON ver 6.0 (a most excellent utility).   
  9742.    
  9743. It should work well with DR-DOS6 with appropriate modifications.   
  9744. I do not have DR-DOS6 :-(   
  9745.    
  9746. There is no reason why it should not also work with Windows, but   
  9747. I don't use it as it is a pain (-: pane :-) and I like   
  9748. performance *enhancement*, not a straightjacket! (NO apologies for   
  9749. expressing these sentiments :-)   
  9750.    
  9751. The Setup Procedure   
  9752. ___----------------   
  9753.    
  9754. ...... continued in the second part that follows.....   
  9755.    
  9756. ______   
  9757.  |ony  
  9758.  
  9759. ... OFFLINE 1.40 * The organization of any bureaucracy is very much like a
  9760. septic tank - the really big chunks always rise to the top. 
  9761.  
  9762.  
  9763.  
  9764.            >> Message length exceeded, split by WILDMAIL! v2.04 <<
  9765.                         >> Continued in next message <<
  9766.  
  9767. ------------------------------------------------------------------------
  9768.  
  9769. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  9770.  
  9771.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/25/1992
  9772.   To: ALL                             Num: 395        Date:  7/20/1992
  9773. From: TONY NUGENT                      Re:            Time:  9:12 pm
  9774. Subj: 4DOS in RamDrive 1of3          Prvt: N          Read: N
  9775.  
  9776.            >> Message length exceeded, split by WILDMAIL! v2.04 <<
  9777.                      >> Continued from previous message <<
  9778.  
  9779.  
  9780. --- Maximus 2.01wb
  9781.  * Origin: Brisbug PC User Group BBS (3:640/821)
  9782.  
  9783. ------------------------------------------------------------------------
  9784.  
  9785. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  9786.  
  9787.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/25/1992
  9788.   To: ALL                             Num: 396        Date:  7/20/1992
  9789. From: TONY NUGENT                      Re:            Time:  9:13 pm
  9790. Subj: 4DOS in RamDrive 2of3          Prvt: N          Read: N
  9791.  
  9792. This is the second part of a three part message describing the 
  9793. tricks necessary to set up the 4DOS primary shell in a RamDrive.   
  9794.    
  9795. The Setup Procedure   
  9796. ___----------------   
  9797.    
  9798. 1.  Make sure that your RamDrive is large enough to contain all   
  9799.     the 4DOS files.  Note that 4DOS.com and 4HELP.exe can be   
  9800.     compressed using PKLITE, DIET or LZEXE to save disk space   
  9801.     (check the 4DOS manual).   
  9802.    
  9803. 2.  Copy all the relevant 4DOS files (and any other commonly   
  9804.     accessed files) to the RamDrive directory D:\4DOS  ie:   
  9805.           4DOS.COM   4DOS.INI   4START.BTM   4ALIAS.CNF   
  9806.           4EXIT.BTM  4HELP.EXE  4DOS.HLP   
  9807.     I also copied L.COM (ala LIST.com), Q.EXE (QEDIT), and H.COM   
  9808.     (ala HDIR.COM - Xanadu's HotDIR) there as well, as I use them so   
  9809.     much.  Put anything else you want frequent and instant access   
  9810.     to there as well.   
  9811.    
  9812. 3.  Create the following aliases.  The actual names are entirely   
  9813.     optional, and the path names may need modification:   
  9814.    
  9815.     alias sa*veali `alias >! d:\4dos\4alias.cnf`   
  9816.     alias sh*istor `history >! d:\4dos\4history.cnf`   
  9817.     alias mk4*auto `del c:\dos\4dos\4auto.exe ^   
  9818.                     ARJ a -jf -je1 c:\dos\4dos\4auto D:\4DOS\*.* `   
  9819.     alias 4upd*ate `ARJ f -jf -je1 c:\dos\4dos\4auto.exe D:\4DOS\*.* `   
  9820.     alias cnf      `q.exe c:\config.sys  c:\autoexec.bat   
  9821.                     d:\4dos\4dos.ini     d:\4dos\4start.btm   
  9822.                     d:\4dos\4exit.btm    d:\4dos\4alias.cnf   
  9823.                     d:\4dos\4history.cnf `   
  9824.    
  9825.    
  9826.     Of course, envoke these alias creation commands each on the   
  9827.     one line (they are broken here for formatting).   
  9828.    
  9829.     < Aside Mode On >   
  9830.    
  9831.    
  9832.     While you're at it, create the following one to prevent   
  9833.     accidently overwriting files with the copy command:   
  9834.    
  9835.     alias copy `*copy %& /R /V`  
  9836.   
  9837.    
  9838.     The same thing should be done with the move command.   
  9839.    
  9840.     Also create an alias to flush your disk cache and perform any   
  9841.     other tasks before rebooting or power-down; eg:   
  9842.    
  9843.     alias off `c: ^SA ^SH ^4UPD ^chkdsk ^c:\dos\pckwik\superpck.com /f `   
  9844.     alias off `c: ^SA ^SH ^4UPD ^chkdsk ^hyperdisk.exe D`   
  9845.    
  9846.     < Aside Mode Off :->   
  9847.    
  9848.     The SA and SH alias simiply save the current aliases and   
  9849.     history list into files.  The SH alias could be modified to   
  9850.     sort and eliminate duplicate entries before saving.   
  9851.    
  9852.     CNF allows easy editing of the configuration files for   
  9853.     fine-tuning (QEDIT can load multiple files at once).  Change   
  9854.     the reference to C:\AUTOEXEC.BAT to D:\4DOS\AUTOEXEC.BAT (and   
  9855.     modify 4DOS.INI - see later) if you want to run AUTOEXEC.BAT   
  9856.     from the RamDrive as well.   
  9857.    
  9858.     The MK4 and 4UPD aliases create and update an ARJ   
  9859.     self-extractor from the files in the D:\4DOS RamDrive   
  9860.     directory.  An alternate approach would be to have TWO   
  9861.     archives created, one with the larger "static" files   
  9862.     4DOS.com, 4HELP.exe, 4DOS.hlp, and any other desired files,   
  9863.     and have another with the configuration files in it.  This   
  9864.     way any updates to these files you make can be easily and   
  9865.     quickly saved in a separate archive file.  It would not be   
  9866.     difficult to do this so I'll leave it to you to redesign   
  9867.     these aliases to cope with this wothwhile idea.  (I've done   
  9868.     it myself now).   
  9869.    
  9870.     The above ARJ command line swithes are the bare bones minimum   
  9871.     needed.  If you want to be more adventuresome, then try these:   
  9872.    
  9873.     alias mk4*auto `del c:\dos\4dos\4auto.exe ^   
  9874.                     ARJ a -jf -je1 -i1 -wD:\ -m0 c:\dos\4dos\4auto   
  9875.                     D:\4DOS\*.* -zc:\dos\4dos\header.txt `   
  9876.     alias 4upd*ate `ARJ f -jf -je1 -i1 -wD:\ -m0 c:\dos\4dos\4auto.exe   
  9877.                     D:\4DOS\*.* -zc:\dos\4dos\header.txt `   
  9878.    
  9879.     These ARJ command line switches deserve some explaination.   
  9880.     The a, f, -jf & -je1 switches are ESSENTIAL; the rest are   
  9881.     optional.   
  9882.    
  9883.     a       Add files to archive   
  9884.     f       Freshen files in archive (update newer or   
  9885.             non-archived files).   
  9886.     -jf     stores the full drive:\path\filenames   
  9887.     -je1    creates a self-extracting archive that will force   
  9888.             extraction to the source drive:\path\   
  9889.     -i1     uses a graphical representation to show compression   
  9890.             progress.   Omit if desired, or use -i for no   
  9891.             progress indication.   
  9892.     -wD:\   use D:\ (RamDrive) as work directory.  Use for speed,   
  9893.             but only if there is sufficient space there!   
  9894.     -m0     Compression method, NO compression (store files).   
  9895.             This speeds things up considerably, especially at   
  9896.             bootup.  However the resulting .exe file is rather   
  9897.             large.  Omit this option if you want to save hard   
  9898.             drive space and don't mind a short wait at bootup.  
  9899.   
  9900.     -y      Assume YES to all queries.  (I doubt if you need this).   
  9901.     -zfilename This is the filename of a header message that you   
  9902.             need to create; it will be displayed when the files   
  9903.             are extracted.  The file must be less than 2048 bytes   
  9904.             long.  Highly optional, but can make the whole   
  9905.             process look real good :-)   
  9906.    
  9907.     Check out the ARJ documentation file for further details.   
  9908.    
  9909.    
  9910. 4.  Save all your old configuration files in a safe place, or use   
  9911.     RECON or another similar program that allows multiple   
  9912.     configuration files to be saved and easily modified and   
  9913.     reused.  RECON is an excellent utility; it is 4DOS and   
  9914.     DESQview aware, and will also handle multiple 4DOS.INI and   
  9915.     all the other configuration files (although getting it to   
  9916.     work with the setup described here requires some deliberate   
  9917.     direct manipulation of the RECON configuration file and   
  9918.     manual creating of the archive, but it can be done with not   
  9919.     too much fuss).   
  9920.   
  9921.   
  9922. 5.  Modify CONFIG.SYS   
  9923.    
  9924.     The following are samples for DOS5 and QEMM.  If you use   
  9925.     DR-DOS6 then use its appropriate directives and commands.   
  9926.    
  9927.     a. DOS directives   
  9928.         DOS=HIGH   (dos5 only on a 286/386)   
  9929.         FCBS=1   
  9930.         STACKS=0,0  
  9931.   
  9932.         BUFFERS=4  (depends on your cache, otherwise 20-40)   
  9933.         FILES=8    (use QEMM FILES.com, otherwise 20-40)   
  9934.    
  9935.     b. Memory manager(s)   
  9936.         DEVICE=c:\dos\qemm\QEMM386.sys <options>   
  9937.  
  9938.  
  9939.            >> Message length exceeded, split by WILDMAIL! v2.04 <<
  9940.                         >> Continued in next message <<
  9941.  
  9942. ------------------------------------------------------------------------
  9943.  
  9944. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  9945.  
  9946.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/25/1992
  9947.   To: ALL                             Num: 397        Date:  7/20/1992
  9948. From: TONY NUGENT                      Re:            Time:  9:13 pm
  9949. Subj: 4DOS in RamDrive 2of3          Prvt: N          Read: N
  9950.  
  9951.            >> Message length exceeded, split by WILDMAIL! v2.04 <<
  9952.                      >> Continued from previous message <<
  9953.  
  9954.  
  9955.       or  
  9956.         DEVICE=c:\dos\himem.sys <options>   
  9957.         DEVICE=c:\dos\emm386 <options>   
  9958.       or   
  9959.         DEVICE=c:\dos\qram\QRAM.exe  <options>  (for a 286)   
  9960.   
  9961.  
  9962.     c. RamDrive device driver(s)   
  9963.         DEVICEHIGH=c:\dos\RAMDRIVE.SYS <options>   
  9964.       or   
  9965.         DEVICE=c:\dos\qemm\loadhi.sys c:\dos\RAMDRIVE.SYS <options>   
  9966.    
  9967.       If you use PCKWIK, then use the following to load the   
  9968.       RamDrive device driver AND the cache here (SUPERPCK.com is   
  9969.       usually loaded via the AUTOEXEC.BAT, but the INSTALL   
  9970.       command does the trick nicely here).   
  9971.    
  9972.         DEVICE=c:\dos\qemm\loadhi.sys c:\dos\pckwik\PCKRAMD.sys <options>   
  9973.         INSTALL=c:\dos\qemm\loadhi.com c:\dos\pckwik\SUPERPCK.com <options>  
  9974.  
  9975.    
  9976.       NOTE that the error message issued by DOS with the install   
  9977.       command can be safely ignored (see below).   
  9978.    
  9979.       With DR-DOS6, use HiINSTALL=c:\dos\pckwik\SUPERPCK.com <options>   
  9980.    
  9981.       If you are not using QEMM or DR-DOS6, then use the   
  9982.       following, which will leave SUPERPCK installed in DOS base   
  9983.       memory:   
  9984.    
  9985.         DEVICEHIGH=c:\dos\pckwik\PCKRAMD.sys <options>   
  9986.         INSTALL=c:\dos\pckwik\SUPERPCK.com <options>   
  9987.    
  9988.     d. The Magic Line(s)   
  9989.    
  9990.         INSTALL=c:\dos\4dos\4auto.exe   
  9991.    
  9992.       This is the line that does the trick.  It automatically and   
  9993.       unquestionably extracts the archived files back into the   
  9994.       RamDrive, creating the D:\4DOS directory in the process. If   
  9995.       you have created two self-extractors (another with just the   
  9996.       configuration files), then INSTALL this one as well in   
  9997.       exactly the same way.   
  9998.    
  9999.       DOS will issue an error message, as it doesn't know what is   
  10000.       going on, as it expects a device driver to remain present in   
  10001.       memory.  Poor dumb DOS.  Ignore the error message :-)   
  10002.    
  10003.     e. The SHELL directive  
  10004.    
  10005.         SHELL=d:\4dos\4DOS.COM d:\4dos @d:\4dos\4DOS.INI /P   
  10006.    
  10007.       This defines 4DOS.COM as the primary command processor, now   
  10008.       looking very pretty sitting right there in the RamDrive with   
  10009.       all it's configuration files there as well.   
  10010.    
  10011.     f. Load in any other device drivers as usual after this, eg,   
  10012.        mouse.sys, hyperdisk.exe, ansi.sys (I use nnansi.com), etc   
  10013.    
  10014.    
  10015. 6.  Modify 4DOS.INI   
  10016.    
  10017. ... to be continued in the exciting third and final part of this trilogy...  
  10018.  
  10019.    
  10020. ______   
  10021.  |ony  
  10022.  
  10023. ... OFFLINE 1.40 * If an experiment works, something has gone wrong. 
  10024.  
  10025. --- Maximus 2.01wb
  10026.  * Origin: Brisbug PC User Group BBS (3:640/821)
  10027.  
  10028. ------------------------------------------------------------------------
  10029.  
  10030. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  10031.  
  10032.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/25/1992
  10033.   To: ALL                             Num: 398        Date:  7/20/1992
  10034. From: TONY NUGENT                      Re:            Time:  9:14 pm
  10035. Subj: 4DOS in RamDrive 3of3          Prvt: N          Read: N
  10036.  
  10037. This is the third and final part of a three part message 
  10038. describing the nefty tricks necessary to set up the 4DOS primary  
  10039. shell in a RamDrive.  
  10040.   
  10041. 6.  Modify 4DOS.INI  
  10042.   
  10043.     The following is a guide.  Note that if you want to run  
  10044.     AUTOEXEC.BAT from the RamDrive, then set AutoExecPath as  
  10045.     below, otherwise set it to C:\ or leave it out.  
  10046.   
  10047.         ; ALL SHELLS  
  10048.         ;  
  10049.         4StartPath     = d:\4dos    ; A MUST HAVE !!!  
  10050.         HelpPath       = d:\4dos    ; A MUST HAVE !!!  
  10051.         AutoExecPath   = d:\4dos    ; only with d:\4dos\AUTOEXEC.bat  
  10052.         ...  
  10053.         Swapping       = XMS, EMS, D:\4DOS, C:\ ; your choice!  
  10054.         NextINIFile    = d:\4dos\4dos.ini  ; A MUST HAVE !!!  
  10055.         ...  
  10056.         ;     PRIMARY SHELL ONLY  
  10057.         [Primary]  
  10058.         UMBEnvironment = Yes  
  10059.         UMBLoad        = Yes  
  10060.         ...  
  10061.         ;     SECONDARY SHELL ONLY  
  10062.         [Secondary] 
  10063.         UMBEnvironment = No       ; If using DV set to NO as UMB are 
  10064.         UMBLoad        = No       ; unavailable, otherwise set to YES  
  10065.         ...  
  10066.   
  10067. 7.  Modify AUTOEXEC.BAT  
  10068.   
  10069.     Not *too* much to change here, except loading the history and  
  10070.     alias configuration files.  Some suggestions:  
  10071.   
  10072.       :: Speed up keyboard  
  10073.       @c:\dos\mode con: rate=32 delay=1  
  10074.       :: There is a small program called ATKYFAST.com that does  
  10075.       :: the same thing  
  10076.   
  10077.       :: I find this useful in DV; you could also include the  
  10078.       :: shell number with %_SHELL somewhere in here  
  10079.       @PROMPT=%%@DOSMEM[K]K Free $e[32;40m$P$G$e[36;40m$e[36;40m  
  10080.   
  10081.       :: Put the RamDrive first in the path command (it's quick)  
  10082.       @PATH d:\4DOS;C:\;c:\DOS;c:\dos\TOOLS; ...c:\WP51; ...c:\dos\QEMM  
  10083.   
  10084.       c:\dos\qemm\loadhi c:\dos\4dos\KSTACK.com  
  10085.       c:\dos\qemm\loadhi c:\dos\qemm\files.com +32  
  10086.       :: For LIST.COM - a most excellent utility  
  10087.       set list=d:\  
  10088.       ::  For WordPerfect  
  10089.       md d:\temp  
  10090.       set wp=/r/d-d:\temp/m-startup  
  10091.   
  10092.       ::  The following is a safeguard, but if the RamDrive was not  
  10093.       ::  set up correctly there is no way that you could get  
  10094.       ::  this far anyway!  
  10095.       set comspec=c:\dos\4dos\4DOS.com  
  10096.       @if exist d:\4dos\4DOS.com SET COMSPEC=d:\4dos\4DOS.com  
  10097.       @if exist d:\4dos\4DOS.com goto AllOk  
  10098.       @ECHO Warning - RAM Drive D apparently not setup correctly!  
  10099.       pause  
  10100.       :AllOk  
  10101.       ::  
  10102.       :: Load in the 4DOS Alias definitions and command History  
  10103.       @alias /r d:\4dos\4alias.cnf  
  10104.       @history /r d:\4dos\4history.cnf  
  10105.       :: Set the temp directory for piped files (and Windows)  
  10106.       @set temp=d:\temp  
  10107.       @set cdpath=..... (whatever)  
  10108.       ....  
  10109.   
  10110.     Note that all these SET commands could be enacted by loading  
  10111.     the environment with ANOTHER configuration file in the  
  10112.     RamDrive with the following command (check the 4DOS manual):  
  10113.   
  10114.     SET /R d:\4dos\4SET.cnf  
  10115.   
  10116.     You simply set up another alias called, say, SS, to create or  
  10117.     modify this file:  
  10118.   
  10119.     alias SS `SET >! d:\4dos\4SET.cnf`  
  10120.  
  10121.  
  10122. 8.  Modify 4START.BTM and 4EXIT.BTM, if necessary.  
  10123.   
  10124. 9.  Use SA and SH (and SS), then use MK4 to create the  
  10125.     self-extracting archive 4AUTO.exe.  
  10126.   
  10127. 10. Flush your cache, take a big breath and then reboot (with  
  10128.     emergency boot disk handy).  If all goes well, then you will  
  10129.     see everything load, the files extract to the RamDrive, the  
  10130.     error messages, and very quickly zap zap you'll be back in a  
  10131.     new, fast, highly-tuned, RamDrive-based 4DOS!  
  10132.   
  10133.     Once you are feeling confident about this new setup, play  
  10134.     around with the -m0 ARJ option to see if you would prefer to  
  10135.     archive the files rather than store them (-m1 or -m2 or even  
  10136.     -jm1 will save heaps of hard drive space, but it will take a  
  10137.     little longer to bootup your system).  Once you are  
  10138.     fine-tuned and really feeling comfortable, go ahead and  
  10139.     delete all the unarchived 4DOS files from your hard drive!  
  10140.     (Go on right ahead, be a devil; it's painless, and you get  
  10141.     back some precious hard drive real estate as a bonus!)  
  10142.   
  10143. Happy 4DOSing !!           :-)  
  10144.   
  10145. The tricks described here can also be used to do all sorts of  
  10146. things... the imagination can go wild......  
  10147.   
  10148. Tony Nugent  
  10149. Monday 20th July 1992  
  10150. Brisbane Australia  
  10151. via BrisbUG BBS 3:640/820, 3:640/821, 3:640/822  
  10152.  
  10153. ... OFFLINE 1.40 * When things are going well, something will inevitably go
  10154. wrong. 
  10155.  
  10156. --- Maximus 2.01wb
  10157.  * Origin: Brisbug PC User Group BBS (3:640/821)
  10158.  
  10159. ------------------------------------------------------------------------
  10160.  
  10161. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  10162.  
  10163.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/25/1992
  10164.   To: SCOTT BIEDERMANN                Num: 411        Date:  7/23/1992
  10165. From: MICHEL LABELLE                   Re:            Time:  1:29 pm
  10166. Subj: Dup Hist                       Prvt: N          Read: N
  10167.  
  10168.  Le <21 Jul 92  08:37:06>, tu as ecrit a Michel Labelle a propos de Re: .=..\
  10169.  
  10170.  SB> I missed that .BTM, so if you could post it or yours I'd sure
  10171.  SB> appreciate it!!
  10172.  
  10173.         Here's his version, because mine has too many complications.
  10174. ~~~ vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
  10175.  
  10176. @echo off
  10177. goto start
  10178.  
  10179. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  10180.  
  10181. COMPHIST.BTM             Michael Jerkovic
  10182.                          Jan 1992
  10183.                          Melbourne, AUSTRALIA
  10184.                          
  10185.  
  10186. Comphist is a 4DOS btm that removes duplicate entries in the 4DOS
  10187. internal history list.  It uses only the dos sort utility and 4dos
  10188. commands.  
  10189.  
  10190. Comphist is not not the most efficient method of compressing your
  10191. history, however it does provide stats and a progress indicator
  10192. to make the process interesting.
  10193.  
  10194. Comphist will work with 25, 40 or 50 line displays.
  10195.  
  10196. Configuration:
  10197. 1. The process requires the creation of a temporary output file.
  10198.    See "set tmp=%@unique[e:]".  The "e:" refers to my ram drive.
  10199.    If you have a ram drive replace "e:" with the appropriate drive.
  10200.    If you dont have a ram drive, use a hard drive.
  10201.  
  10202. 2.  The process assumes you have the dos utility sort in your path.
  10203.     See "history | sort > %tmp".  If sort is not in your path, or if
  10204.     you would prefer to use a more powerful sort utility, you will
  10205.     need to modify this line.
  10206.  
  10207. ___-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!-
  10208.  
  10209. :start
  10210. setlocal
  10211. set tmp=%@unique[e:]
  10212. history | sort > %tmp
  10213. if %@lines[%tmp]==0 (beep ^ echo Error: History only contains the
  10214. +++ last command.^quit)
  10215. history /f
  10216. set pos=%_row
  10217. if %pos gt %@eval[%_rows-7] (cls ^ set pos=0)
  10218. text
  10219.                +-!!!!!!!!!!!- Compressing History -!!!!!!!!!!-+
  10220.                |                                              |
  10221.                |  Processed     commands, leaving    active.  |
  10222.                |                                              |
  10223.                |   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX   |
  10224.                +-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!-+
  10225. endtext
  10226. alias showcnt scrput %@eval[%pos+2]  %%1 bri yel on bla %%2
  10227. alias inc `set %1=%@eval[%[%1]+1]`
  10228. set z=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  10229. alias get_bar `set bar=%@eval[%1*%@eval[40/(%@lines[%tmp]+1)]]^
  10230. +++iff `0%@substr[%bar,%@len[%@int[%bar]]]` gt `.5` then ^
  10231. +++ set bar=%@substr[%z,0,%@eval[%@int[%bar]+1]]^else^
  10232. +++ set bar=%@substr[%z,0,%@int[%bar]]^endiff`
  10233. alias display_bar if %%@ascii[%%bar] ne 0 scrput %@eval[%pos+4] 19
  10234. +++ bri %_fg on %_bg %%bar
  10235. set i=0
  10236. set j=0
  10237. :top
  10238.     set x=%@line[%tmp,%i]
  10239.     if "%x" == "**EOF**" (del %tmp /q^endlocal^quit)
  10240.     if "%x" != "%oldx" (history /a %x^inc j)
  10241.     inc i
  10242.     showcnt 28 %i
  10243.     showcnt 50 %j
  10244.     get_bar %i ^ display_bar
  10245.     set oldx=%x
  10246. goto top
  10247.  
  10248. ~~~ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  10249.  
  10250.         It's the best, not only done completely with 4DOS(DOS's SORT) but
  10251. also
  10252. takes lines with redirection like TYPE TAGLINES.BW | SORT > TAGLINES.BW
  10253.  
  10254.                                                                      Bye.
  10255.  
  10256. ... For the millionth time, don't exaggerate!
  10257. --- Blue Wave/Max v2.10 [NR]
  10258.  * Origin: Golden Odyssey * Ottawa, Ont. (613)723-8526 v.32bis (1:163/305.0)
  10259.  
  10260. ------------------------------------------------------------------------
  10261.  
  10262. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  10263.  
  10264.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/25/1992
  10265.   To: TONY NUGENT                     Num: 377        Date:  7/18/1992
  10266. From: HUGO LANDSMAN                    Re:            Time: 11:17 pm
  10267. Subj: Problem fine-tuning 4DOS       Prvt: N          Read: N
  10268.  
  10269. Hi Tony,
  10270.  
  10271. 13 Jul 1992 22:33, Tony Nugent (3:640/821) wrote to Tony Dunlap:
  10272.  
  10273.  TN> Now, I have found that I can load PCKWIK's RamDrive with a 
  10274.  TN> loadhi.sys (I use QEMM with DOS5), but the RamDrive itself is 
  10275.  TN> only activated when SUPERPCK.com is run.  This is normally meant 
  10276.  TN> to be done from AUTOEXEC.bat, but I now find that I can install 
  10277.  TN> it from the CONFIG.sys file with the line: 
  10278.  
  10279.  TN> INSTALL=c:\dos\pckwik\SUPERPCK.com /A+ /B+ /W+ /O- /Q+ /R:1280 /T+ /P- 
  10280.  
  10281.  TN> The problem with this is that this leaves the program using 16K 
  10282.  TN> of my precious 640K.  Is there any way to do an install and 
  10283.  TN> leaving the program in high memory area ?  With QEMM running in 
  10284.  
  10285. Maybe you need an update?  SuperPCK.Exe 4.0 loads itself high.  I didn't
  10286. think of trying to Install it from Config.Sys before, but that works too. 
  10287. Thanks! That saved me not only a couple of bytes: it now loads completely
  10288. into the first UMB at B000, leaving mutch more free usable memory free in the
  10289. second (a thing I can't control with that dumb EMM386).  One thing though:
  10290. believe your DOS manual when it states not to Install programs that have
  10291. hotkeys: PCKScrn frooze solid.
  10292.  
  10293. // hugo
  10294.  
  10295. --- FastEcho 1.20+
  10296.  * Origin: st. anna pbbs, nijmegen nl (2:512/154.5@fidonet.org)
  10297.  
  10298. ------------------------------------------------------------------------
  10299.  
  10300. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  10301.  
  10302.  BBS: ASTRIX          Conference: 4DOS            Imported:  7/25/1992
  10303.   To: KETIL KRUMM                     Num: 13966      Date:  7/22/1992
  10304. From: TOM RAWSON                       Re: 0          Time:  8:41 am
  10305. Subj: GOSUB PARAMETERS               Prvt: N          Read: N
  10306.  
  10307. KK>    I have found one solution that will work, but I haven't used
  10308. KK>    it, since it has a taste of workaround:  Create a dummy
  10309. KK>    variable called MsgText, then every time I want a message I set
  10310. KK>    this variable to contain the message text.  To display/echo
  10311. KK>    thje message, GOSUB the Message subroutine which the acts upon
  10312. KK>    the %MsgText variable:
  10313. KK>
  10314. KK>    set MsgText=This is the message ^ gosub Message
  10315. KK>    .
  10316. KK>    .
  10317. KK>    :Message
  10318. KK>       echo %MsgText
  10319. KK>       echo %MsgText >>result.txt
  10320. KK>    return
  10321.  
  10322. I think you have the right answer for now.  There are no parameters so
  10323. you have to use global variables.  However you can set up an alias:
  10324.  
  10325.      alias msg `set MsgText=%&^gosub Message^unset MsgText`
  10326.  
  10327. or even:
  10328.  
  10329.      alias msg `set MsgText=%&^echo %MsgText^echo %MsgText>>result.txt^
  10330.        unset MsgText`
  10331.  
  10332. or some such.  Aliases are VERY useful tools for batch programming ...
  10333.  
  10334.                                                   ... Tom
  10335.  
  10336.  
  10337.  
  10338. PCRelay:CHANNEL -> #15 RelayNet (tm)
  10339.           
  10340.  
  10341. ------------------------------------------------------------------------
  10342.  
  10343. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  10344.  
  10345.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/29/1992
  10346.   To: HERMOD PEDERSEN                 Num: 438        Date:  7/23/1992
  10347. From: TORBEN SCHLYNTZ                  Re:            Time:  7:34 pm
  10348. Subj: 4DOS AND LANTASTIC             Prvt: N          Read: N
  10349.  
  10350.  >  DB> HP>> c:\lan\NET LOGIN/WAIT \\SERVER ?"NAMN: " ^"L#SENORD: "
  10351.  >  DB>
  10352.  
  10353.  > That ought to do it - but it doesn't. The Lantastic
  10354.  > BAT-file still
  10355.  > refuses to acknowledge the format - now it doesn't
  10356.  > like the '
  10357.  > characters.
  10358.  
  10359. Try this. It's works very neat here at my place using standard 4dos and
  10360. standard Lantastic:
  10361.  
  10362.  
  10363. ---------------cut--------------
  10364.  
  10365.  
  10366. @Echo Off
  10367. goto start
  10368. ┌─────────────────────────────────────────────────────────────────────────┐
  10369. │                                                                         │
  10370. │         Lantastic login script by Torben Schlüntz, (C) 1992             │
  10371. │                                                                         │
  10372. └─────────────────────────────────────────────────────────────────────────┘
  10373.  
  10374.   set  Net_error=000
  10375.   set       date=dd-mm-yyyyy
  10376.   set       time=00:00:00
  10377.   set  MachineId=VeryLongMachineName
  10378.   set     Userid=UserIdUserId
  10379.   set   Password=PasswordPassWord
  10380.   set ServerName=VeryLongServerName
  10381.  
  10382.   if "%ServerName%"=="VeryLongServerName" goto EnvOk
  10383.   Echo Out of environment....
  10384.   Goto CleanUp
  10385.  
  10386. :EnvOk
  10387.   net string MachineId !"MachineId"
  10388.  
  10389.   echo    Enter a servername   :
  10390.   Net string/right=10 Servername ?""
  10391.   if "%ServerName%"=="" goto CleanUp
  10392.  
  10393.   echo    Enter your login name or nothing for %MachineId%:
  10394.   Net string UserId   ?""
  10395.   if "%UserId%"=="            " Set UserId=%MachineId%
  10396.  
  10397.   echo    Enter your Password  :
  10398.   Net String Password `^""`
  10399.  
  10400.   Net Login \\%ServerName% %UserId% %Password%
  10401.   set Password=
  10402.  
  10403. :CleanUp
  10404.   set       date=
  10405.   set       time=
  10406.   set  MachineId=
  10407.   set     Userid=
  10408.   set   Password=
  10409.   set ServerName=
  10410. :Fin
  10411.  
  10412. --------------cut-------------------
  10413.  
  10414. GYN
  10415. T.Schlüntz
  10416.  
  10417. --- Email 1.00
  10418.  * Origin: if %1x==x %0 New%1 (2:234/61.12)
  10419.  
  10420. ------------------------------------------------------------------------
  10421.  
  10422. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  10423.  
  10424.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/29/1992
  10425.   To: SCOTT BIEDERMANN                Num: 431        Date:  7/25/1992
  10426. From: JOSEPH MORIN                     Re:            Time:  6:12 am
  10427. Subj: Comphist.Btm                   Prvt: N          Read: N
  10428.  
  10429. While Scott Biedermann Talks to Silver Dragon...  [Tuesday July 21 1992]
  10430.  
  10431.  SD>> What does CompHist.BTM do?  Does it compress the History
  10432.  SD>> File?  If so, I have a utility I rewrote to do it.  It reads
  10433.  SD>> the history, removes Dupes, Sorts and Caps all entries.
  10434.  
  10435.  SB≡> If that's a .BTM could you post it here or provide a place to FREQ it
  10436.  SB≡> from?  I'd sure appreciate it!!
  10437.  
  10438.      4Dos isn't that powerful that easy, I have the utility here.  The
  10439. source I wrote it in was in Basic, and the Batch File is 5 or 6 lines.  I had
  10440. a 4Dos Utilities archive and I found there History Compressor broken, and
  10441. they wanted to charge $30US for it!  Heck, I'll just show you both, Compile
  10442. the source and run it.
  10443.  
  10444. ====== CH.BTM
  10445.  
  10446. @Echo Off
  10447. history > C:\__HIST.TMP
  10448. compact C:\__HIST.TMP
  10449. history /f
  10450. history /r C:\__HIST.TMP
  10451. del /q C:\__HIST.TMP
  10452.  
  10453. ====== <End of BTM>
  10454.  
  10455. ====== Compact.Bas
  10456.  
  10457. DIM TXT$(500)
  10458.  
  10459. $INCLUDE "STRIP.INC"
  10460.  
  10461. OPEN COMMAND$ FOR INPUT AS #1
  10462. LET PNT% = 0
  10463. WHILE NOT EOF(1)
  10464.    LET TMP$ = ""
  10465.    LET PNT% = PNT% + 1
  10466.    LINE INPUT #1, TMP$
  10467.    LET TXT$(PNT%) = UCASE$(FNStrip$(TMP$))
  10468. WEND
  10469. CLOSE #1
  10470.  
  10471. FOR X% = 1 TO PNT%
  10472.    FOR Y% = 1 TO PNT%
  10473.       IF TXT$(X%) = TXT$(Y%) AND X% <> Y% THEN
  10474.          LET TXT$(Y%) = ""
  10475.       END IF
  10476.       IF TXT$(X%) < TXT$(Y%) THEN
  10477.          SWAP TXT$(Y%), TXT$(X%)
  10478.       END IF
  10479.    NEXT Y%
  10480. NEXT X%
  10481.  
  10482. KILL COMMAND$
  10483.  
  10484. OPEN COMMAND$ FOR OUTPUT AS #1
  10485. FOR X% = 1 TO PNT%
  10486.    IF TXT$(X%) <> "" THEN
  10487.       PRINT #1, TXT$(X%)
  10488.    END IF
  10489. NEXT X%
  10490. CLOSE #1
  10491.  
  10492. END
  10493.  
  10494. ======= <End of BAS>
  10495.  
  10496.      There you go, Knock your socks off.  Change it, Compile it, do what you
  10497. want.  I declare it PD!
  10498.  
  10499.                                                  Written By:
  10500.                                                  Joseph Morin
  10501.  
  10502. --- GoldED 2.40.P0623
  10503.  * Origin: System Failure: (A)bort (R)etry (F)ire Shotgun (FIDO 1:163/406.2)
  10504.  
  10505. ------------------------------------------------------------------------
  10506.  
  10507. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  10508.  
  10509.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/29/1992
  10510.   To: DOMINIC STRANGE                 Num: 439        Date:  7/18/1992
  10511. From: WOUT MERTENS                     Re:            Time: 11:33 am
  10512. Subj: Prompt                         Prvt: N          Read: N
  10513.  
  10514.  
  10515. Hi Dominic, this is'nt actually to you but I don't have the original message,
  10516. so I'll have to do with this. No hard feelings? ;)
  10517.  
  10518. > DS>prompt=(%@dosmem[K]K, %@eval[%@substr[%_time,0,2] %%
  10519. > DS>12]%@substr[%_time,2,3]) $p$g
  10520.  
  10521. That way you get an awful lot on one line. That's not real nice to see. Have
  10522. you ever thought about something like this:
  10523.  
  10524. PROMPT=$e[s$e[1;64f$e[1;37;44m$e[K│ $t │ $z │$e[0m$e[u$P$g
  10525.  
  10526. or
  10527.  
  10528. PROMPT=`$e[s$e[1;28f$e[1;37;44m$e[K│ %@dosmem[K]KB │ %@diskfree[%_disk,K]KB
  10529. free │ $d │ $t │ $z │$e[0m$e[u$P$g`
  10530.  
  10531. Bye,
  10532.  
  10533. |   /__|_
  10534. |/|/o u|_ . 
  10535.  
  10536. --- DB B1064/001874
  10537.  * Origin: The Point of No Return (2:292/850.28)
  10538. 
  10539. ------------------------------------------------------------------------
  10540.  
  10541. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  10542.  
  10543.  BBS: ESCMAIL         Conference: 4dos            Imported:  7/29/1992
  10544.   To: DOUG OSBORN                     Num: 488        Date:  7/26/1992
  10545. From: ERA ERIKSSON                     Re:            Time:  9:27 pm
  10546. Subj: Useful timer                   Prvt: N          Read: N
  10547.  
  10548.  * Quoting Doug Osborn (3:640/586) to All on 23 Jul 1992:
  10549.  > The timer in 4DOS is really nice but you can't query the result (ie
  10550.  > the minutes you have just spent on that program). I have written a
  10551.  
  10552. What's wrong with TIMER /S? Or do I misunderstand you?
  10553.  
  10554.  > I know i can write this total to file with an "echo %time > time" but
  10555.  > how do i do the reverse?
  10556.  
  10557. input %%mytime < time
  10558.  
  10559. /* era */
  10560.  
  10561. --- 4dos 4.01/B && GoldEd
  10562.  * Origin: $HOME is where the core is  o . (Ball pt, Helsinki)
  10563. (2:220/851.95)
  10564.  
  10565. ------------------------------------------------------------------------
  10566.  
  10567. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  10568.  
  10569.  BBS: ASTRIX          Conference: 4DOS            Imported:  7/30/1992
  10570.   To: LARRY ALPERT                    Num: 14081      Date:  7/27/1992
  10571. From: MICHAEL HAHN                     Re: 0          Time:  6:53 am
  10572. Subj: AUTOEXEC.BAT                   Prvt: N          Read: N
  10573.  
  10574. LA▓      I use a boot up program that gives me a load of different configs
  10575. LA▓  out of 1 file.
  10576. LA▓     Any changes made to my config files by other programs can be overided
  10577. LA▓  by overwriting the files.  If I want to keep the changes, I just edit
  10578. LA▓  them into my boot.cfg file,
  10579.  
  10580. Same here, but I use my own .BTM.  For those interested:
  10581.  
  10582. BOOT.BTM
  10583. rem This changes configuration files and reboots.
  10584. cdd c:\
  10585. if "%1"=="" goto end
  10586. if not exist %1.bat goto nofile
  10587. if not exist %1.sys goto nofile
  10588. if "%boot"=="MS-DOS" .AND. "%@substr[%1,0,2]"=="dr" goto os_change
  10589. if "%boot"=="DR-DOS" .AND. "%@substr[%1,0,2]"=="ms" goto os_change
  10590. copy /Q %1.bat autoexec.bat
  10591. copy /Q %1.sys config.sys
  10592. goto end
  10593. :os_change
  10594. cls
  10595. scrput 6 13 bright white on blue Currently running %boot--change OS's before re.
  10596. quit
  10597. :nofile
  10598. echo The "%1" configuration does not exist!!
  10599. quit
  10600. :end
  10601. if "%cache"=="HYPERDISK" hyperdk d
  10602. :boot
  10603. reboot
  10604.  
  10605. Note:  I use Keith Ledbetter's dual boot utility for MS-DOS 5 and
  10606. DR-DOS 6; that's the reason for the os_change section.
  10607.  
  10608.                .\\ichael
  10609.  
  10610.  
  10611.  
  10612. ---
  10613.  ■ KingQWK 1.05 # 155 ■ Windows:  Veni, vidi, shelfi.                         |
  10614.  
  10615. PCRelay:NOFRILLS -> #1299 RelayNet (tm)
  10616.                                                                                                        
  10617. PCRelay:DCINFO -> #16 MetroLink International Network
  10618. 4.10              DC Info Exchange MetroLink International Hub
  10619.           
  10620.  
  10621. ------------------------------------------------------------------------
  10622.  
  10623. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  10624.  
  10625.  BBS: ASTRIX          Conference: 4DOS            Imported:  7/30/1992
  10626.   To: JOHAN SELAND                    Num: 14067      Date:  7/27/1992
  10627. From: DAVID KUNZ                       Re: 0          Time:  6:23 pm
  10628. Subj: COMPRESS MANY FILES            Prvt: N          Read: N
  10629.  
  10630. JS║ Hello everybody. I am trying to compress all my DOC files, using
  10631. JS║ the .DOZ=C:\UTILS\READ.BTM %1 environment variable. But the I would
  10632. JS║ like to compress all my ASCII DOC, TXT, ME etc. files in a row. To
  10633. JS║ avoid doing it on Word For Windows files i no problem, the problem
  10634. JS║ is to compress all DOC files in a single command. To an example
  10635. JS║ like this. (Not working) PKZIP *.DOZ *.DOC, any ideas?
  10636.  
  10637. I use the following alias (all on one line, replace <at> with the 'at'
  10638. symbol (shift-2)):
  10639.  
  10640.     DOZIP=iff "%1"=="" then echo Usage: DOZIP ZIPNAME^else
  10641.         if exist $temp$$$.tmp del $temp$$$.tmp^iff "%2"=="" then
  10642.         select dir/f/b (*.*) >>$temp$$$.tmp^else
  10643.         select dir/f/b (%2) >>$temp$$$.tmp^endiff^
  10644.         pkzip -am %1 <at>$temp$$$.tmp^ del $temp$$$.tmp^endiff
  10645.  
  10646.     syntax: DoZip ZipFileName [FileSpec]
  10647.  
  10648. It uses the select command to create a file with one entry on each
  10649. line ($temp$$$.tmp).  It then invokes pkzip using the '<at>' form
  10650. which directs it to get the files to be zipped from a file.  Note that
  10651. I use the 'move' option wich deletes the file from your disk after
  10652. compressing.
  10653.  
  10654. Hope that this helps!
  10655. David Kunz
  10656. ---
  10657.  ■ MegaMail : Perot/Bush/Quayle: The Millionaire, the Skipper, Gilligan
  10658.  
  10659. PCRelay:WTHREEJP -> #75 RelayNet (tm)
  10660.                
  10661.  
  10662. ------------------------------------------------------------------------
  10663.  
  10664. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  10665.  
  10666.  BBS: ASTRIX          Conference: 4DOS            Imported:  7/31/1992
  10667.   To: ALL                             Num: 14131      Date:  7/29/1992
  10668. From: BRAD OWEN                        Re: 0          Time:  2:42 pm
  10669. Subj: ENIVRONMENTAL 1 OF 2           Prvt: N          Read: N
  10670.  
  10671. Apparently both parts of the original post didn't make it.  Here it
  10672. is again for anyone interested.
  10673. Make sure you make the following changes:
  10674. 1) Combine both parts of the file.
  10675. 2) Replace all the "#" characters with the "at" character--shift 2.
  10676. There are 17 replacements.
  10677. 3) Change the first character in the second line following the
  10678. :edenv label to the editor of your choice.  The program currectly
  10679. calls Qedit.
  10680.  
  10681. For some information type "4env h"
  10682.  
  10683. ------------------------START HERE PART 1-------------------------------
  10684. @echo off
  10685. cls
  10686. iff "%_env" LT "%#eval[%#len[%path] * 2]" then
  10687. beep 320 1 400 1 320 1 400 1 320 1 400 1 320 1 400 1 320 1 400 1
  10688. scrput 5  3 %_fg on %_bg The current environment size is %_ENV
  10689. scrput 7  3 %_fg on %_bg Increase this amount to %#eval[%#len[%path]*2]
  10690. scrput 9  3 %_fg on %_bg To insure proper operation of this program.
  10691. scrput 11 3 %_fg on %_bg See your 4DOS and DOS manuals for more
  10692. scrput 13 3 %_fg on %_bg information on increasing the environment.
  10693. goto wrapup
  10694. endiff
  10695.  
  10696. iff "%1" EQ "" then
  10697.     screen 3 0
  10698.     beep 320 1 400 1 320 1 400 1 320 1 400 1 320 1 400 1 320 1 400 1
  10699.     echo No switch was specified.
  10700.     echo Type 4env h for help
  10701.     goto wrapup
  10702. endiff
  10703.  
  10704. if "%1" EQ "e" goto edenv
  10705. if "%1" EQ "a" goto addpath
  10706. if "%1" EQ "d" goto delpath
  10707. if "%1" EQ "h" goto help
  10708. if "%1" EQ "?" goto help
  10709.  
  10710.  
  10711. :edenv
  10712. set > environ.dat
  10713. Q environ.dat
  10714. set /r environ.dat
  10715. del /q environ.dat
  10716. scrput 4 1 %_fg on %_bg Free environment space is %_env bytes.
  10717. goto wrapup
  10718.  
  10719. :addpath
  10720. iff "%#index[%path,%_cwd;]" NE "-1" then
  10721.     beep 320 1 400 1 320 1 400 1 320 1 400 1 320 1 400 1 320 1 400 1
  10722.     scrput 4  2 %_fg on %_bg The current directory: %_cwd
  10723.     scrput 5  2 %_fg on %_bg is already in your path.
  10724.     screen 7  2
  10725.     echo %path
  10726.     goto wrapup
  10727. endiff
  10728. keystack end "%_cwd" ";" 13 ^ eset path > NUL
  10729. screen 3 0
  10730. echo %path
  10731. goto wrapup
  10732.  
  10733. :delpath
  10734. iff "%#index[%path,%_cwd;]" EQ "-1" then
  10735.     beep 320 1 400 1 320 1 400 1 320 1 400 1 320 1 400 1 320 1 400 1
  10736.     scrput 4  2 %_fg on %_bg The current directory: %_cwd
  10737.     scrput 5  2 %_fg on %_bg is not in your path.
  10738.     screen 6  2
  10739.     echo %path
  10740.     goto wrapup
  10741. endiff
  10742. --------------------------END HERE PART 1----------------------------
  10743. Continued...........
  10744.  
  10745.                Brad
  10746. ---
  10747.  ■ 1st 1.00 #345 ■
  10748.  
  10749. PCRelay:MIDAS -> #887 RelayNet (tm)
  10750.  
  10751.  
  10752. ------------------------------------------------------------------------
  10753.  
  10754. Echo Flag : Y       Permanent: N       Export: N      Personal Read: N
  10755.  
  10756.  BBS: ASTRIX          Conference: 4DOS            Imported:  7/31/1992
  10757.   To: ALL                             Num: 14132      Date:  7/29/1992
  10758. From: BRAD OWEN                        Re: 0          Time:  2:43 pm
  10759. Subj: ENVIRONMENTAL 2 OF 2           Prvt: N          Read: N
  10760.  
  10761. ------------------------START HERE PART 2------------------------------
  10762. scrput 3 1 %_fg on %_bg The current directory is %_cwd
  10763.  
  10764. rem length of current directory
  10765. set ML=%#len[%_cwd;]
  10766.  
  10767. rem location of current directory in the path
  10768. set MI=%#index[%path,%_cwd;]
  10769.  
  10770. rem length of path
  10771. set P=%#len[%path]
  10772.  
  10773. rem length of path minus current directory
  10774. set N=%#eval[%P - %ML]
  10775.  
  10776. rem path string BEFORE the current directory
  10777. set O=%#substr[%path,0,%MI]
  10778.  
  10779. rem length of %O
  10780. set OL=%#len[%O]
  10781.  
  10782. rem check to see if the length of %O is less than the length of %N
  10783. iff %OL NE %N then
  10784.  
  10785.     rem length of %O plus %ML
  10786.     set PP=%#eval[%OL + %ML]
  10787.  
  10788.     rem length of path after the current directory
  10789.     set PQ=%#eval[%P - %PP]
  10790.  
  10791.     rem %PR = the path AFTER the current directory
  10792.     set PR=%#substr[%path,%PP,%PQ]
  10793.  
  10794.     rem get rid of the ; at the end of %O
  10795.     set OP=%#eval[%OL - 1]
  10796.     set O=%#substr[%O,0,%OP]
  10797.  
  10798.     rem set the new path
  10799.     set path=%O;%PR
  10800.     screen 5 1
  10801.     echo The new path is: %path
  10802.     goto wrapup
  10803. endiff
  10804.  
  10805. set path=%O
  10806. screen 5 1
  10807. echo The new path is: %path
  10808. goto wrapup
  10809.  
  10810. :help
  10811. cls
  10812. screen 3 1
  10813. text
  10814.     4ENV helps you manage your environment.
  10815.  
  10816.     Usage:  4ENV [e] [a] [d] [h] [?]
  10817.  
  10818.             e       Loads a copy of the environment into your editor.
  10819.                     Upon exiting reloads the copy and displays the
  10820.                     free environment space.
  10821.  
  10822.             a       Adds the current directory to your path.
  10823.                         * KSTACK must be loaded for this option.
  10824.  
  10825.             d       Deletes the current directory from your path.
  10826.  
  10827.             h or ?  Display this help screen.
  10828.  
  10829.     Notes:  You must specify a switch.
  10830.             Only the first switch will be executed.
  10831.             Multiple switches are ignored.
  10832.             All changes affect only the current session and will be
  10833.                 lost when you re-boot.
  10834. endtext
  10835. goto wrapup
  10836.  
  10837. :wrapup
  10838. set ML=
  10839. set MI=
  10840. set N=
  10841. set O=
  10842. set OL=
  10843. set OP=
  10844. set P=
  10845. set PP=
  10846. set PQ=
  10847. set PR=
  10848. set PS=
  10849. -------------------------END HERE PART 2-------------------------------
  10850.  
  10851.                Brad
  10852. ---
  10853.  ■ 1st 1.00 #345 ■
  10854.  
  10855. PCRelay:MIDAS -> #887 RelayNet (tm)
  10856.                                                                       
  10857.  
  10858. ------------------------------------------------------------------------
  10859.  
  10860. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  10861.  
  10862.  BBS: ESCMAIL         Conference: 4dos            Imported:  8/01/1992
  10863.   To: MICHEL LABELLE                  Num: 545        Date:  7/27/1992
  10864. From: RON WESTLAKE                     Re:            Time:  5:52 pm
  10865. Subj: .=..\                          Prvt: N          Read: N
  10866.  
  10867.  >  RW> Here is an alias that I use quite often:
  10868.  
  10869.  >  RW> ..*.....  IFF !%1 == ! THEN^CD %0^ELSE^CD %0\%1^ENDIFF
  10870.  >              ^^
  10871.  >              I guess the equal sign goes here.  Could you volunteer what
  10872.  > this does.  The %0 and ! threw me off.
  10873.  
  10874. Well, yes, if you alias it from the command line.  I mark & transfered it
  10875. from my ALIAS.LST file.
  10876.  
  10877. The %0 is the command.  %1 is the first parameter.  The ! is to keep it from
  10878. complaining if no parameters are used on the command line.
  10879.  
  10880. If your dir structure looks like this:
  10881.  
  10882.   C:\DOS
  10883.   C:\DOS\ONE
  10884.   C:\DOS\TWO
  10885.   C:\TP
  10886.   C:\TP\INC
  10887.  
  10888. and you are in C:\DOS\ONE, you could do the following:
  10889.  
  10890. Entering: ..                        Sends you:  C:\DOS
  10891.           ...                                   C:\
  10892.           .. TWO                                C:\DOS\TWO
  10893.           ... TP                                C:\TP
  10894.           ... TP\INC                            C:\TP\INC
  10895.  
  10896. This is pretty basic, but when working many levels deep, this comes in VERY
  10897. handy for me.
  10898.  
  10899. Ron
  10900.  
  10901. ---
  10902.  * Origin: GENESIS * Portland, OR USA * (503)257-2462 * 
  10903. (1:105/18@fidonet.org)
  10904.  
  10905. ------------------------------------------------------------------------
  10906.  
  10907. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  10908.  
  10909.  BBS: ESCMAIL         Conference: 4dos            Imported:  8/01/1992
  10910.   To: GAYLE REHL                      Num: 553        Date:  7/28/1992
  10911. From: DAVE MUNHOLLON                   Re:            Time: 11:14 pm
  10912. Subj: alias help                     Prvt: N          Read: N
  10913.  
  10914. Hello Gayle!
  10915.  
  10916. Sunday July 26 1992, Gayle Rehl writes to All:
  10917.  
  10918.  GR> alias that would do the following: 1. Check to confirm that the floppy
  10919. in
  10920.  GR> drive a: is the same directory that I am in on the hard drive C:
  10921.  GR> (Is C:\(directory)=A:\(directory)?) 2. If it is the proper
  10922. A:\(directory),
  10923.  GR> delete all files on A: that are not still in C:\(directory).
  10924.  
  10925. I couldn't figure out how to do this with an alias (maybe someone else can),
  10926. but with a batchfile I could (Maybe it could be done simpler???).  First you
  10927. need to have a directory on A: that is the same as the one on C:, but don't
  10928. use it, its just for identifying the disk.  Then try this Batch:
  10929.  
  10930.  
  10931. :start
  10932. cls
  10933. iff isdir a:%_cwp then
  10934.    set x=0
  10935.    dir /b /a-d-s-h a:>temp.hld
  10936. :test
  10937.    if %@line[temp.hld,%x]=**EOF** goto done
  10938.    if not exist %@line[temp.hld,%x] del a:\%@line[temp.hld,%x]
  10939.    set x=%@eval[%x+1]
  10940.    goto test
  10941. :done
  10942.    del temp.hld
  10943. else
  10944.    echo   The disk in Drive A is not the right one for this directory
  10945.    echo   Replace the disk in Drive A: and press 'C' to Continue or
  10946.    inkey /K"cq"   press 'Q' to quit [C/Q] %%k
  10947.    if %k=c goto start
  10948. endiff
  10949.  
  10950.                                -=*Dave
  10951.  
  10952. --- GoldED 2.40
  10953.  * Origin: Jackpot!! Colorado Springs, CO (719) 570-6118 (1:128/86)
  10954.  
  10955. ------------------------------------------------------------------------
  10956.  
  10957. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  10958.  
  10959.  BBS: ESCMAIL         Conference: 4dos            Imported:  8/01/1992
  10960.   To: GAYLE REHL                      Num: 584        Date:  7/29/1992
  10961. From: FURLAN PRIMUS                    Re:            Time: 10:07 pm
  10962. Subj: alias help                     Prvt: N          Read: N
  10963.  
  10964. Regarding the original message from Gayle Rehl of 1:106/3333
  10965. writing to All on <Jul 26 15:30> while asserting:
  10966.  
  10967.  GR> I back up many directories to floppies and then use the same 
  10968.  GR> floppy to back up any new additions to each directory. Sometimes, 
  10969.  GR> files are deleted from the hard drive directory and I have to 
  10970.  GR> manually compare the directories and delete the same files from 
  10971.  GR> the floppy. I would like an alias that would do the 
  10972.  GR> following:1. Check to confirm that the floppy in drive a: is 
  10973.  GR> the same directory that I am in on the hard drive C: (Is 
  10974.  GR> C:\(directory)=A:\(directory)?) 2. If it is the proper 
  10975.  GR> A:\(directory), delete all files on A: that are not still in 
  10976.  GR> C:\(directory).
  10977.  
  10978. does this do what you want?
  10979.  
  10980. _ _ _ O_/_ _C_U_T_ _H_E_R_E_ _ _ _ _ _ _
  10981.       O \
  10982. c:
  10983. set c_cwp=%_cwp
  10984. a:
  10985. cd %c_cwp
  10986. for %f in (*.*) do if not exist c:%c_cwp%\%f del %f
  10987.  
  10988. _ _ _ O_/_ _C_U_T_ _H_E_R_E_ _ _ _ _ _ _
  10989.       O \
  10990.  
  10991. test it on an unused area (on both drives) first before using it on 'live
  10992. data' <g>
  10993.  
  10994. fl
  10995.  
  10996. --- msgedsq 2.1a
  10997.  * Origin: COLIC: A sheep dog. (1:141/590)
  10998.  
  10999. ------------------------------------------------------------------------
  11000.  
  11001. Echo Flag :         Permanent: N       Export: N      Personal Read: N
  11002.  
  11003.  BBS: ESCMAIL         Conference: 4dos            Imported:  8/01/1992
  11004.   To: TOM HALL                        Num: 504        Date:  7/23/1992
  11005. From: DOMINIC STRANGE                  Re:            Time:  9:23 pm
  11006. Subj: Aliases                        Prvt: N          Read: N
  11007.  
  11008. Hi Tom,
  11009.  
  11010. TH>It seems to work great here for file names, but not extensions. when I
  11011. TH>do FF CTL, I get no files listed, yet another file finder reports a
  11012. TH>number of them.
  11013.  
  11014. When you wnat to find files by extention you need to use the syntax
  11015.  
  11016. FF * ext
  11017.    _____
  11018.    %1 %2
  11019.  
  11020. note the * for %1 and a space between it and the extention.
  11021.  
  11022. you could also limit this to
  11023.  
  11024. FF fred t
  11025.  
  11026. this would find
  11027.  
  11028. fred.ctl
  11029. bfrede.tlc
  11030. fredblog.brt
  11031.  
  11032. etc
  11033.  
  11034. Like the idea of number of files display - working on it <g>
  11035.  
  11036.  
  11037. Hope it helps
  11038.  
  11039. Cheers
  11040.  
  11041. Dominic
  11042.  
  11043.  
  11044.  * SLMR 2.1a * Command.Com A philips screwdriver to undo an allen screw!
  11045.  
  11046. --- Maximus 2.01wb
  11047.  * Origin: Golly! = A 4DOS BBS = [+44-734-320812] (2:252/21)
  11048.